.NET TIPS 画像を回転/反転させるには?[C#、VB]デジタルアドバンテージ 遠藤 孝信2007/04/26 |
|
|
System.Drawing名前空間のImageクラスには、画像(Imageオブジェクト)を90度単位で回転させたり、水平方向あるいは垂直方向に反転させたりするためのRotateFlipメソッドが用意されており、簡単に画像の回転/反転が行える。このメソッドでは、パラメータとしてRotateFlipType列挙体(System.Drawing名前空間)の値(詳しくは後述)を指定するだけだ。
次のサンプル・プログラムは、カレント・ディレクトリにある画像ファイル「test.jpg」を読み込み、90度時計回りに回転させてから「test90.jpg」というファイル名で保存する。
| ||
90度回転させた画像を保存するサンプル・プログラム(上:C#、下:VB) |
なおこのサンプル・プログラムのように、ImageクラスのSaveメソッドを使用して画像をJPEG形式で保存する際には、保存時の再圧縮により(元のJPEG画像より)若干画質が劣化してしまうので注意が必要だ。
RotateFlipType列挙体の値
RotateFlipType列挙体で定義されている16個の値と、それぞれの値を使用してRotateFlipメソッドにより.NET TIPSのロゴを回転/反転させた場合の画像を以下に示す。
| ||||||||||||||||
RotateFlipType列挙体で定義されている16個の値 | ||||||||||||||||
RotateFlipType列挙体の値としては16個が定義されているが、例えば、90度回転した画像(Rotate90FlipNone)と、270度回転した後に水平方向および垂直方向に反転させた画像(Rotate270FlipXY)は同一であり、実質的には回転/反転のパターンは8通りしかない(実際、例えばRotateFlipType.Rotate90FlipNoneとRotateFlipType.Rotate270FlipXYには同じ整数値(1)が割り振られている)。
ちなみに、上記の16個の画像は次のプログラムにより作成したものだ。
| |
.NET TIPSのロゴを回転/反転させて保存するC#のサンプル・プログラム(fliptype.cs) | |
| |
.NET TIPSのロゴを回転/反転させて保存するVBのサンプル・プログラム(fliptype.cs) | |
このプログラムを実行すると、カレント・ディレクトリに16個のJPEGファイルが作成される。
カテゴリ:クラス・ライブラリ 処理対象:ビットマップ 使用ライブラリ:Imageクラス(System.Drawing名前空間) 使用ライブラリ:RotateFlipType列挙体(System.Drawing名前空間) |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|