【发布时间】:2010-07-06 03:34:18
【问题描述】:
我正在 Cocoa 应用程序中从网络摄像头拍摄照片,我想放大我收到的图像的中心。我首先收到一个CIImage,最后保存一个NSImage。
我将如何放大这些对象中的任何一个?
【问题讨论】:
我正在 Cocoa 应用程序中从网络摄像头拍摄照片,我想放大我收到的图像的中心。我首先收到一个CIImage,最后保存一个NSImage。
我将如何放大这些对象中的任何一个?
【问题讨论】:
“缩放”意味着几件事。您至少需要裁剪图像,并且可能想要放大。或者您可能只想保留缩放以供显示。
要裁剪它,请使用 CICrop 过滤器。
要对其进行缩放,请使用 CILanczosScaleTransform 过滤器或 CIAffineTransform 过滤器。
要裁剪和缩放它,请同时使用这两个过滤器。只需将作物的输出作为比例的输入。
裁剪和缩放在这里是相同的操作。您需要创建一个所需大小的新的空 NSImage (如果您不缩放,它是源裁剪的大小,或者如果您要缩放则增加大小),锁定焦点,绘制裁剪矩形将源图像放入目标图像的边界矩形,并解锁焦点。
如果目标矩形与源(裁剪)矩形的大小不同,它将缩放;如果它们的大小相同,它将简单地复制或合成像素到像素。
【讨论】: