用pictureBox画图的初级问题

waldstein 2012-04-24 11:31:48
各位,
我在窗体上放了一个panel,然后在panel里又放了一个pictureBox(尺寸要远远大于窗体和panel的size)
发现在pictureBox的onPaint里直接画图,虽然有点慢,但是还好
如果先画在bitmap上,然后再加载,反而特别慢,还提示内存不足,代码如下:
Bitmap bit = new Bitmap(this.pbDesktop.Width, this.pbDesktop.Height);
// 定义位图Graphics实例
Graphics g = Graphics.FromImage(bit);

for (int i = 0; i < nodeList.Count; i++)
{
nodeList[i].draw(g);
}


g = this.pbDesktop.CreateGraphics();
g.DrawImage(bit, 0, 0);

还望各位指教!
...全文
87 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
waldstein 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

别频繁的new Bitmap,用一个公共的Bitmap
[/Quote]

代码改成了如下,还是不行啊
定义了一个公共bitmap,然后OnPaint代码如下:
Graphics g = Graphics.FromImage(bit);

for (int i = 0; i < nodeList.Count; i++)
{
nodeList[i].draw(g);
}

g = this.pbDesktop.CreateGraphics();
g.DrawImage(bit, 0, 0);
g.Dispose();

显示还是很慢,内存是没问题了。。。。
bdmh 2012-04-24
  • 打赏
  • 举报
回复
别频繁的new Bitmap,用一个公共的Bitmap

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧