picturebox

【C#】PictureBoxに画像を回転して表示する方法

PictureBoxに画像を回転表示する方法について紹介します。

 

完成イメージはこんな感じです。(45度回転してます)

PictureBoxに画像を回転表示する方法


【C#】PictureBoxに画像を回転して表示する方法

まずは、今回サンプルで作成したフォームは以下のようなイメージです。

Formイメージ

ボタンを2つ上に配置し、その下にPictureBoxを配置しています。

【C#】PictureBoxに画像を表示する方法|ソースコード

まずは、回転しないバージョンから。

Imageで画像を読み込み、Bitmapを生成し、それをPictureBoxに表示する方法です。

 

動作イメージはこんな感じ。

PictureBoxに画像表示

読み込んだ画像を、そのままPictureBoxに表示しています。

 

ちなみに、以下のコードでPictureBoxのサイズに合わせて読み込み画像を拡大・縮小し、ちょうどよいサイズで表示してくれるようになります。

※AutoSizeを設定すると、PictureBox側が画像サイズに合わせて大きくなったり小さくなったりします。

【C#】PictureBoxに画像を90度回転して表示する方法|ソースコード

それでは回転してみます。

まずは、90度単位で回転させる場合です。(単純なケースです)

先ほどのソースコードに、以下が追加されています。

ここで90度回転しています。

※他にも設定可能なので確認してみてください。

PictureBoxに回転画像を表示

 

ただ、90度回転じゃなく任意の角度を指定して画像を回転させたい場合もあります。

この方法だとそれができません。

次の方法で可能です。

【C#】PictureBoxに画像を任意の角度回転して表示する方法|ソースコード

45度回転させてみます。

ソースコードは以下の通り。

先ほどとはちょっと違い、Graphicsを使って実現しています。

※以下の "45" は、好きな角度に設定してください。

あわせて、以下で画像を平行に移動しています。

そうしないと以下の様に画像が表示されるからです。

PictureBoxに回転画像を表示

 

画像回転の中心の関係で、こんな感じで見切れてしまいます。

そのため、平行移動させて、画像を回転しています。

 

完成形。

PictureBoxに画像を回転表示する方法

まとめ

PictureBoxに回転した画像を表示するには、「GraphicsのRotateTransform」を活用しよう!

 

\この記事はどうでしたか?/

-picturebox
-, , ,

© 2021 ジョブログLiFE