1

最後の 2 行の違いは何ですか?

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


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

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

最後のものは、[outputImage の範囲] より小さい rect を持つ歪んだ画像を生成します。

drawImage: 行がクラッシュする場合があります。

4

1 に答える 1

0

-drawAtPoint のドキュメントから:…</p>

イメージ コンテンツは現在の解像度で描画され、現在の座標系自体の CTM に倍率が含まれていない限り、スケーリングされません。それ以外の場合、イメージは現在の座標系を使用して配置および方向付けされます。

全体を描画する場合は、 fromRect をイメージ全体のサイズにする必要があります。また、多くの場合、反転は異なる描画方法間で異なる方法で処理されます。

最後に、 -drawImage:… に関するドキュメントには、やや暗号化された状態のみが記載されています。

apply:、apply:arguments:options:、apply:k などの CIFilter クラスのメソッドの 1 つを使用してフィルターを適用した後、このメソッドを呼び出して結果の評価を強制することができます。</p>

お役に立てれば。

于 2009-10-12T18:00:59.500 に答える