【发布时间】:2012-03-24 23:12:22
【问题描述】:
我在裁剪图像时遇到问题。对我来说,CICrop 过滤器无法正常工作。如果我的 CIVector x 和 y(原点)为 0,一切正常(图像从左下角裁剪),图像被我的矩形宽度和高度裁剪,但如果 CIVector 原点(x 和 y)在我的裁剪中不是 0图像变成了空间(因为无论原点(x 和 y)是什么,CICrop 过滤器都会从左下角裁剪)。
我正在用矩形裁剪 CIImage,来源:
CIVector *cropRect =[CIVector vectorWithX:150 Y:150 Z: 300 W: 300];
CIFilter *cropFilter = [CIFilter filterWithName:@"CICrop"];
[cropFilter setValue:myCIImage forKey:@"inputImage"];
[cropFilter setValue:cropRect forKey:@"inputRectangle"];
CIImage *croppedImage = [cropFilter valueForKey:@"outputImage"];
使用 CIVector X 150 和 Y 150 输出图像:(为了清楚起见,我画了边框)
使用 CIVector X 0 和 Y 0 输出图像:
原图:
我做错了什么?还是应该这样做?
【问题讨论】: