【发布时间】:2011-04-03 19:29:14
【问题描述】:
我正在尝试将图像快速加载到图片框中并在其上绘图。在将位图分配给图片框的时间和它出现的时间之间,我有 0.13 秒的延迟。并且每当我执行picturebox.refresh() 时,在调用paint 方法之前的延迟都是0.13 - 0.15 秒。有什么办法可以摆脱这种延迟?
我在 Visual Studio 2010 中使用 C#。我使用 FreeImage 库加载图像。
这是我的 pictureBox_MouseMove 事件中的代码:
if (IsMouseDown || DrawLine.Checked || IsMovingBox)
{
Tracing.Trace("Update Picture Box");
pictureBox.Refresh();
}
然后当我的绘画事件被调用时,我会画出一条线。延迟在两条跟踪线之间。
如果我使用 117kb 的双色 tiff 图像,则延迟为 0.13 秒。将此图像加载到内存中需要 0.04 秒。用这个位图替换我的图片框位图需要 0.01 秒。
如果我使用 1125kb 的灰度 jpg 图像,则延迟为 0.14 秒。将此图像加载到内存中需要 0.26 秒。用这个位图替换我的图片框位图需要 0.03 秒。
【问题讨论】:
标签: c# image graphics picturebox