
如何将GDI+绘制的图形保持住
建立了一个PictureBox,在里面使用GDI+绘制图形,但是绘制出来的图形一旦被其他窗体遮挡就会自动消失。有没有办法来使这些图像能够保持在PictureBox当中不被...
建立了一个PictureBox,在里面使用GDI+绘制图形,但是绘制出来的图形一旦被其他窗体遮挡就会自动消失。有没有办法来使这些图像能够保持在PictureBox当中不被重绘?
Visual Basic,环境是Visual Studio 2008…… 展开
Visual Basic,环境是Visual Studio 2008…… 展开
2个回答
展开全部
通过双缓冲,从一个内存的Bitmap对象建立一个内存的 Graphics 对象,在 OnPaint 消息下重绘。
public:
Graphics *m_GrpMem;
Graphics *m_Grp;
Bitmap *m_ImgMem;
初始化时:
m_ImgMem = new Bitmap(宽度, 高度, 像素格式);
GrpMem = new Graphics(m_ImgMem);
m_Grp = new Graphics(窗口HDC);
OnPaint(dc) 时:
将需要的东西绘制到 GrpMem 上。
然后 m_Grp 绘制出 m_ImgMem 的内容即可。
public:
Graphics *m_GrpMem;
Graphics *m_Grp;
Bitmap *m_ImgMem;
初始化时:
m_ImgMem = new Bitmap(宽度, 高度, 像素格式);
GrpMem = new Graphics(m_ImgMem);
m_Grp = new Graphics(窗口HDC);
OnPaint(dc) 时:
将需要的东西绘制到 GrpMem 上。
然后 m_Grp 绘制出 m_ImgMem 的内容即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询