1

CALayerに画像を描画しようとしています。画像だけが必要なので、後で次のように作成しました。

CALayer *layer = [CALayer layer];

次のように画像を追加します。

NSImage *img = [[NSImage alloc] initWithContentsOfFile:@"path/to/img.png"];
[layer setContents:img];

これは機能しますが、親フレーム全体を埋めるように画像を描画します(その過程で画像をストレッチします)。

ドキュメントを読んで、私は次のことを見つけました:

[layer setContentsGravity:@"kCAGravityBottomLeft"];

親フレームの左下に画像を描画しようとしていますが、何をしてもアイコンが中央下に描画されます。とにかく左下を指定することはありますか?

4

1 に答える 1

0

これを試して:

CALayer *layer = [CALayer layer];
layer.contentsGravity = kCAGravityBottomLeft;
layer.contents = (id) aCGImageRef;

kCAGravityBottomLeftとして宣言されてNSStringおり、contentsプロパティは。を期待していることに注意してくださいCGImageRef

于 2012-04-06T05:25:58.367 に答える