放大CIImage或NSImage?

时间:2010-07-06 03:34:19

标签: cocoa nsimage

我正在Cocoa应用程序中从摄像头拍摄照片,我想放大我收到的图像的中心。我首先收到CIImage并最终保存NSImage

我如何放大这些物体?

1 个答案:

答案 0 :(得分:1)

“缩放”意味着一些事情。您至少需要裁剪图像,而可能想要扩展。或者您可能希望保留缩放以仅显示。

CGImage

要裁剪它,请使用CICrop过滤器。

要缩放它,请使用CILanczosScaleTransform过滤器或CIAffineTransform过滤器。

要裁剪并缩放,请使用两个滤镜。只需将裁剪的输出作为比例输入。

NSImage中

裁剪和比例在这里是相同的操作。您需要创建一个所需大小的新的空NSI图像(如果您不进行缩放,则为源裁剪的大小,如果要缩放,则为增大的大小),锁定焦点,从中绘制裁剪矩形将源图像放入目标图像的边界矩形,并解锁焦点。

如果目标矩形与源(裁剪)矩形的大小不同,则会缩放;如果它们的大小相同,它只会复制或合成像素到像素。

相关问题