画像を読み込んで表示する(C#)

c-sharp-image.png

たったこれだけ!

//画像ファイルを読み込んで、Imageオブジェクトを作成する
            System.Drawing.Image img = System.Drawing.Image.FromFile(@"roppongi.png");
            //画像を表示する
            pictureBox1.Image = img;

カレントディレクトリは.exeと同じ位置になっている。
これとは別にpictureBox1のGUI部品をフォームに置いておく必要がある。
さて、300x300ピクセルのフォーム部品に1920x1080ピクセルの画像を表示!という命令を出したらこんなことになってしまいましたね。
toolarge.png
勝手に拡大縮小はしてくれないようだ。
そして、窓を広げたら、灰色の空間が広がりました。
enlarge.png
デフォルトでは広がった窓の分まで画像も広がる、なんてことはなさそうです。

フォームのサイズやピクチャボックスのサイズを画像に合わせる

じゃあこうしちゃえばいいんです

public Form1()
        {
            InitializeComponent();
            //画像ファイルを読み込んで、Imageオブジェクトを作成する
            System.Drawing.Image img = System.Drawing.Image.FromFile(@"roppongi.png");
            //ピクチャボックスとフォームを画像めいっぱいのサイズに広げる
            this.Size = new System.Drawing.Size(img.Width, img.Height);
            pictureBox1.Size = new System.Drawing.Size(img.Width, img.Height);
            pictureBox1.Image = img;//画像を表示する
 
        }

enlarged.png
なんかデカすぎだし、解像度悪い感じ。縮小して表示したいな。

image

サポートサイト Wikidot.com image