1

最后两行有什么区别?

    CIImage *outputImage = [compositingFilter valueForKey:@"outputImage"];


    [[[NSGraphicsContext currentContext] CIContext] drawImage:outputImage atPoint:point fromRect:fromRect];

    [outputImage drawAtPoint:point fromRect:fromRect operation:op fraction:delta];

最后一个产生一个畸变图像,其矩形小于 [outputImage extent];

drawImage: 行在某些情况下会崩溃。

4

1 回答 1

0

来自 -drawAtPoint 上的文档:…</p>

图像内容以其当前分辨率绘制并且不缩放,除非当前坐标系的 CTM 本身包含缩放因子。使用当前坐标系以其他方式定位和定向图像。

如果您想要绘制整个图像, fromRect 应该是图像的整个大小。同样在许多情况下,不同绘图方法之间的翻转处理方式也不同。

最后,关于 -drawImage:... 的文档有点神秘地只声明:

您可以在使用 CIFilter 类的方法之一应用过滤器后调用此方法来强制评估结果,例如 apply:、apply:arguments:options: 和 apply:k…</p>

希望这可以帮助。

于 2009-10-12T18:00:59.500 回答