[VC2005] 画像を拡大・縮小する方法

◆概要

この資料は、Microsoft(R) Visual C# 2005で 画像を拡大・縮小する方法について記述しています。


◆Contents

1.画像を拡大する
2.画像を縮小する
3.ScaleTransformを使う方法

◆1.画像を拡大する
private void button1_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

            // 幅2倍、高さ2倍のイメージを作成する
             Bitmap bmp = new Bitmap(pictureBox1.Image,
             (int)(pictureBox1.Image.Width * 2),
             (int)(pictureBox1.Image.Height * 2));

            pictureBox1.Image = bmp;
        }


▼ページトップへ

◆2.画像を縮小する

上記の例の2のところを0.5にするとオリジナルの画像を半分の大きさで表示します。

private void button1_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

            // 幅0.5倍、高さ0.5倍のイメージを作成する
            Bitmap bmp = new Bitmap(pictureBox1.Image,
            (int)(pictureBox1.Image.Width * 0.5), 
                  (int)(pictureBox1.Image.Height * 0.5));

            pictureBox1.Image = bmp;
        }


▼ページトップへ

◆3.ScaleTransformメソッドを使う方法

ScaleTransformメソッドを使うと、ピクチャボックスの画像を拡大・縮小できます。
次の例は画像を半分の大きさにします。なお、この例を使用する前にピクチャボックス(pictureBox2)を追加してください。

        private void button2_Click(object sender, EventArgs e)
        {
            Graphics g;

            pictureBox2.Image 
                = new Bitmap(pictureBox2.Width, pictureBox2.Height);

            g = Graphics.FromImage(pictureBox2.Image);
            g.Clear(this.BackColor);

            //変換マトリックスをセット
            g.ResetTransform();

            //元の画像を表示
            g.ScaleTransform(0.5F, 0.5F);

            //画像を描画
            g.DrawImage(pictureBox1.Image, 0, 0);
            pictureBox2.Refresh();

        }


▼ページトップへ