首页 > 解决方案 > 如何调整图像大小以适合图片框?

问题描述

我正在尝试调整图像大小以适合 PictureBox 大小,但它不起作用。我添加了一个方法resizeImage,但无论我给出什么大小,结果都是一样的。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        Bitmap myBitmap = CreateNonIndexedImage(new Bitmap(@"d:\drawplane1.jpg"));
        resizeImage(myBitmap, new Size(1, 1));

        // Draw myBitmap to the screen.
        e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width,
            myBitmap.Height);

        // Set each pixel in myBitmap to black.
        for (int Xcount = 0; Xcount < myBitmap.Width; Xcount++)
        {
            for (int Ycount = 0; Ycount < myBitmap.Height; Ycount++)
            {
                myBitmap.SetPixel(Xcount, Ycount, Color.Black);
            }
        }

        // Draw myBitmap to the screen again.
        e.Graphics.DrawImage(myBitmap, myBitmap.Width, 0,
            myBitmap.Width, myBitmap.Height);
    }

    public Bitmap CreateNonIndexedImage(Image src)
    {
        Bitmap newBmp = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

        using (Graphics gfx = Graphics.FromImage(newBmp))
        {
            gfx.DrawImage(src, 0, 0);
        }

        return newBmp;
    }

    public static Image resizeImage(Image imgToResize, Size size)
    {
        return (Image)(new Bitmap(imgToResize, size));
    }
}

无论我放入什么尺寸:

resizeImage(myBitmap, new Size(1, 1));

..图片框内的图像太大:我当时尝试10,10进行1,1测试,但它没有改变图像大小。

图片框中的图像

这是原始图像:

原来的

原始图像文件:https ://imgur.com/a/umegyk1

标签: c#winforms

解决方案


尝试将SizeMode您的设置PictureBoxPictureSizeMode.ZoomPictureSizeMode.StretchImage,看看是否有帮助。通过您的属性编辑器或代码。

 pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

推荐阅读