0

ある CGImage を別の CGImage に重ねたい。

例として、最初の CGImage は 1024x768 で、2 番目の 100x100 CGImage を特定の場所にオーバーレイしたいとします。

NSImage を使用してこれを行う方法を見てきましたが、CGImage を NSImage に変換してからオーバーレイを行い、結果を CGImage に変換したくありません。コードの iOS バージョンも見たことがありますが、Mac ではどうすればよいのでしょうか?

4

1 に答える 1

1

私は主に iOS に慣れているので、ここでは詳しく説明できないかもしれませんが、グラフィック コンテキスト (2 つの画像の大きい方のサイズ) があると仮定すると、2 つの CGImage を重ねて描画することはできませんか? ?

CGImageRef img1024x768;
CGImageRef img100x100;

CGSize imgSize = CGSizeMake(CGImageGetWidth(img1024x768), CGImageGetHeight(img1024x768));

CGRect largeBounds = CGRectMake(0, 0, CGImageGetWidth(img1024x768), CGImageGetHeight(img1024x768));
CGContextDrawImage(ctx, largeBounds, img1024x768);

CGRect smallBounds = CGRectMake(0, 0, CGImageGetWidth(img100x100), CGImageGetHeight(img100x100));
CGContextDrawImage(ctx, smallBounds, img100x100);

そして、結果を NSImage に描画しますか?

于 2012-11-07T00:01:25.850 に答える