【发布时间】:2014-02-24 11:51:49
【问题描述】:
我有一个问题,如何创建一个无限期运行一段代码的循环?基本上我有一个使用随机函数创建像素化位图图像并将其显示到我的图像框到用户界面的代码和平。 但是,当我需要执行那段代码以同时生成图像并连续播放以制作这些图像的视频剪辑时,我遇到了困难。我使用了“while (true)”循环,但它没有在我的屏幕上显示任何内容,而且我的程序每次运行代码时都会崩溃。 谁能告诉我如何制作一个非常流畅的循环,以毫秒为间隔执行我的代码?
While (true)
{
foreach (Point p in blackPixels)
{
if (r.NextDouble() < 0.20)
{
bmp.SetPixel(p.X, p.Y, Color.Black);
}
else
{
bmp.SetPixel(p.X, p.Y, Color.White);
}
}
pictureBox1.Image = bmp;
}
【问题讨论】:
-
在你的算法中使用递归。但即使这样也有一个结束标准(它不是无限的)。此外,您还需要更多地研究递归的内存管理。
-
您也不会在任何时候更新您的用户界面。您的代码正在生成新图像,但从不更新前端。
-
尼尔奈特,你能解释清楚你的意思吗?我正在使用“pictureBox1.Image = bmp;”每次,所以它应该更新我的输出!
标签: c# image loops bitmap switch-statement