0

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

我将如何放大这些对象中的任何一个?

4

1 回答 1

1

“缩放”意味着几件事。您至少需要裁剪图像,并且可能需要放大。或者您可能只想保留缩放以供显示。

CG图像

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

要对其进行缩放,请使用 CILanczosScaleTransform 过滤器或 CIAffineTransform 过滤器。

要裁剪和缩放它,请使用这两个过滤器。只需将作物的输出作为比例的输入。

NSImage

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

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

于 2010-07-06T04:50:11.763 回答