イメージの情報
イメージサイズを得る
何らかの形で画像ファイルを伸縮したり、制御する場合
オリジナルのイメージの幅と高さというのは極めて重要な情報になります
Image 抽象クラスは、これらの情報を得るためのプロパティが宣言されています
イメージの幅を得るには Width、高さを得るには Height プロパティを
同様に Size や PhysicalDimension プロパティからも取得できます
public int Width {get;}
public int Height {get;}
public Size Size {get;}
public SizeF PhysicalDimension {get;}
Width と Height プロパティは、幅と高さを表す数値を
Size と PhysicalDimension は幅と高さを表す構造体オブジェクトを返します
この情報を元に、イメージの正しい幅と高さをえることができます
using System.Windows.Forms;
using System.Drawing;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
Image img = new Bitmap("test.jpg");
Point[] pt = {
new Point(img.Width , 0) , new Point(0 , 0) ,
new Point(img.Width , img.Height)
};
g.DrawImage(img , pt);
}
}
このプログラムは、平行四辺形の座標を指定する Point の配列で
左上角と右上角の座標を反転させることによって、画像を水平に反転しています
このとき、正しい本来のサイズで反転するために Image クラスのプロパティを使っています