イメージを別のイメージに描画して、そのイメージをイメージファイルとして出力しようとしています。このメソッドは最初に呼び出すときに正常に機能しますが、後続の呼び出しでは最後の合成時に別の画像がレイヤーされます。私。新しい背景画像を取得する代わりにレイヤーを維持します。新鮮な文脈で画像を合成しますか?
私は自分自身を明確にして(説明するのは少し難しい)、どんな助けでも大いに感謝したいと思います。
-(NSImage *)compositeImage:(NSImage *)overlay Onto:(NSImage *)background AtPoint:(NSPoint)location{
NSImage *returnImage;
[background lockFocus];
[[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh];
[overlay drawInRect:NSMakeRect(location.x, location.y, [overlay size].width, [overlay size].width) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[background unlockFocus];
returnImage = background;
return returnImage;
}
スウィフト3にどのようにこの関数に背景画像を渡していますか? –
@ParagBafna私は、NSImageを作成しています。アプリからの画像を与えて、それにバックグラウンド変数として上記のメソッドの結果を与えます。私はこれが役立つことを願っています – BenJacob