1

出于某种原因,我无法理解我的 for 循环“破坏”了程序。

对于较低的值,它可以正常工作,中断点似乎是 45 秒(600 个位图),高于此值,并且循环只是存在并且函数甚至没有完成。

这是循环:

 public void GenBitmaps()
    {
        timespan = new TimeSpan(0, 0, 0, 40);
        int BitmapCount = (int)((timespan.Minutes * 60 + timespan.Seconds) * 1000 / ((double)timer1.Interval));
        bitmaps = new Bitmap[BitmapCount];

        double size = StartSize.Height;

        for (int i = 0; i < BitmapCount; i++)
        {
            this.Text = i.ToString() + " " + BitmapCount.ToString();
            bitmap = new Bitmap(StartSize.Width, (int)size);

            using (Graphics gfx = Graphics.FromImage(bitmap))
            {
                using (SolidBrush brush = new SolidBrush(Color.Red))
                {
                    gfx.FillRectangle(brush, 0, 0, bitmap.Width, bitmap.Height);
                }
            }
            bitmaps[i] = bitmap;
            size -= StartSize.Height / (float)BitmapCount;
        }          
    }
4

1 回答 1

0

我认为您的位图大小接近于零,并且在位图构建过程中引发了一些异常。尝试在 try/catch 中包装位图构造函数

于 2012-05-19T14:37:48.833 回答