出于某种原因,我无法理解我的循环“打破”程序。
对于较低的值,它工作正常,点的中断似乎是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;
}
}
答案 0 :(得分:0)
我认为您的位图大小接近于零,并且在位图构造期间会抛出一些异常。尝试在try / catch
中包装位图构造函数