最后两行有什么区别?

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


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

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


最后一个图像产生的畸变图像的rect小于[outputImage范围];

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

最佳答案

从-drawAtPoint的文档中:…


  除非当前坐标系的CTM本身包含缩放比例,否则图像内容将以其当前分辨率绘制并且不会缩放。否则,将使用当前坐标系对图像进行定位和定向。


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

最后,-drawImage:...上的文档有些含糊地仅指出:


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


希望这可以帮助。

关于cocoa - 与[CIContext drawImage:...],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1411754/

10-14 20:15