用GDI+画线,为什么画面会出现错位现象?

Baryon 2004-08-06 03:39:05
请看图片:
http://member.netease.com/~lilong/temp/222.jpg

我使用GDI+的GraphicsPath,将一组通过WM_MOVE得到的点在屏幕上画出来
GraphicsPath pa;
pa.AddCurve(m_Points.GetData(), m_Points.GetCount());
Pen pen(get_Color(), (float)get_Size());
Graphics graphics(bmp);
graphics.DrawPath(&pen, &pa);

在快速移动鼠标的时候,画面会出现如图所示的错位现象。如果用RedrawWindow();重新更新画面就没问题了。这是是什么原因造成的呢?怎么避免?

我使用了memdc做缓冲。
...全文
111 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
枫雁 2004-08-06
我想画曲线,有在GDI的代码吗?
如果闭合曲线,有什么办法计算面积吗?
  • 打赏
  • 举报
回复
Baryon 2004-08-06
我知道原因了,因为我使用了AddCurve()这个函数,它在知道所有点的情况下画出的曲线更加平滑,而点在不断增加的情况下,可能每次画出的结果有偏差。
所以在我的这个程序里需要使用AddLines()
  • 打赏
  • 举报
回复
相关推荐
发帖
图形处理/算法
加入

1.9w+

社区成员

VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
申请成为版主
帖子事件
创建了帖子
2004-08-06 03:39
社区公告
暂无公告