CoreGraphicsで画像を回転させる

画像を回転させる手順です。以前、座標軸も回転することが分からず時間を費やしてしまいました。

(0) 元の画像

(1) 画像の左下を、中心まで移動する。

(2) 回転させる。
回転は、左下を軸として行われます。このとき座標軸も回転しています。

(3) 高さを戻す。

(4) 幅を戻す。

これで結果的に画像の中心を軸に回転した画像になりました。

// (1)
CGContextTranslateCTM(ctx, width/2, height/2);
// (2)
CGContextRotateCTM(ctx, angle);
// (3)
CGContextTranslateCTM(ctx, 0, -height/2);
// (4)
CGContextTranslateCTM(ctx, -width/2, 0);

0307

コメント