【发布时间】:2010-01-27 09:40:36
【问题描述】:
我在移动设备中有一个下载的图像应用程序。每次图像下载成功时,它都会自动绘制到临时位图上,然后 onPaint 方法绘制整个临时位图。这导致了很多事情发生。
每次加载一张图像时,我的导师建议我使用 GDI 函数将临时位图绘制到屏幕上。但是他的建议对于这两种方法是如此普遍。
[DllImport("coredll.dll")]
static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("coredll.dll")]
static extern void ReleaseDC(IntPtr dc);
那么在这种情况下,他的建议对我有更明确的建议吗?提前致谢。
更新
//This is my buffer bitmap
private Graphics offGraph;
private Bitmap offBitmap;
//everytime an image is loaded, it raise an event and then I draw it on buffer.
private void ImageLoadDone(object sender, EventArgs e)
{
ImageObj LoadedImg = (ImageObj)sender;
LoadedImg.Render(offGraph);
this.BeginInvoke(new EventHandler(ImageUpdate));
}
private void ImageUpdate(object sender, EventArgs myE)
{
this.Render();
}
//and then onPaint draw the offbitmap.
private void Render()
{
CtrlGraph.DrawImage(offBitmap,0,0);
}
【问题讨论】:
标签: c# compact-framework gdi+