NSImageを垂直軸の周りに回転して結果を保存しようとしています。主な目的は、異なる回転角度の同じ画像のフレームの配列を生成することです。私は別々に各フレームを変更するためにその配列を持つ必要があります。単一のフレームのための望ましい結果以下の通りです:NSImageを垂直軸の周りに回転する
これまでのところ、私は、単一の回転NSImageではを作るためにCATransform3DRotateを使用しようとしていたが、私は、これはどのような方法でNSImageではに変換を適用することはできませんよ。私は新しく作成されたCALayerにCATransform3DRotateを適用しようとしました。さらに、特別に作成されたビューのレイヤーにも、私が得ることのできる最高のものは前と同じです。
CATransform3D t = CATransform3DRotate(CATransform3DIdentity, (60 * M_PI/180), 0, 1, 0);
CALayer *layer = [CALayer layer];
[layer setFrame: imageRect];
[layer setContents:image];
[layer setTransform:t];
NSImage * newImage = [[NSImage alloc] initWithSize:layer.bounds.size];
[newImage lockFocus];
[layer renderInContext:[NSGraphicsContext currentContext].CGContext];
[newImage unlockFocus];
このコードでは、newImageは同じ非回転イメージになります。私は他の方法も試しましたが、どれも成功しません。
私の目的を達成するための簡単な方法があります(同じNSImageの回転フレームの配列を生成する)かもしれませんが、私はそれが何であるか分かりません。
Core Imageを使ってみませんか? –
これは、私が見つけた垂直軸を中心に3d回転を適用する唯一の方法でした。 – Deimos