首页 > 解决方案 > While 循环中的“System.Argument.Exception 参数无效”位图错误

问题描述

Bitmap OyunAlani = new Bitmap(400, 400);

private void Form1_Load(object sender, EventArgs e)
{
    backgroundWorker1.RunWorkerAsync();
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    ilerle();
}

void ilerle()
{
    while (true)
    {
        Size size = new Size();
        size.Width = 7;
        size.Height = 7;    
        Image i = (Image)OyunAlani;    
        pictureBox1.Image = ZoomPicture(i, size);
                
        System.Threading.Thread.Sleep(10);
    }
}

Image ZoomPicture(Image img, Size size)
{
    int genislik = Convert.ToInt32(img.Width * size.Width);
    int yukseklik = Convert.ToInt32(img.Height * size.Height);
            
    Bitmap bm = new Bitmap(img,genislik, yukseklik);                
            
    Graphics gpu = Graphics.FromImage(bm);
    gpu.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

    return bm;
}

我的目标是循环放大图片。我搜索了有关此问题的所有主题,但 Dispose 不起作用。我应该怎么办 ?或替代缩放解决方案?

错误是

System.ArgumentException '参数无效。

标签: c#winforms

解决方案


推荐阅读