vs [CIContext drawImage:...]

时间:2009-09-11 15:48:47

标签: cocoa core-image

最后两行有什么区别?

    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:行在某些情况下崩溃。

1 个答案:

答案 0 :(得分:0)

来自-drawAtPoint上的文档:...

  

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

如果您想要绘制整个图像,那么

fromRect应该是图像的整个大小。此外,在许多情况下,不同的绘图方法之间的翻转处理方式也不同。

最后,关于-drawImage的文档:......有点隐蔽状态:

  

使用CIFilter类的一个方法应用过滤器后,可以调用此方法强制评估结果,例如apply:,apply:arguments:options:和apply:k ...

希望这有帮助。