画线的问题。

wkgenius 2003-08-18 08:33:16
我在CView里画线的时候,在WM_MOUSEMOVE的消息中用LineTo和MoveTo不断的画,可是在鼠标移动快一点的时候,就是出现锯齿,请问怎样消除这样的锯齿?
...全文
98 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanfyj 2003-08-19
  • 打赏
  • 举报
回复
up
shines77 2003-08-19
  • 打赏
  • 举报
回复
要想做平滑处理,只能后台缓冲区的方法啦,或者使用插值的方法(但是直线要自己画),

或者介绍一个Wu像素方法:
http://www.imagic3d.com/wupixel.htm
shenghuafen 2003-08-19
  • 打赏
  • 举报
回复
图形学上有类似的算法呀。楼主何不自己去看看。
wkgenius 2003-08-19
  • 打赏
  • 举报
回复
up
shines77 2003-08-19
  • 打赏
  • 举报
回复
推荐:wu反走样(Anti-aliased)直线

http://www.gameres.com/Articles/Visual/Effects/WuLine.htm
Napoleo 2003-08-19
  • 打赏
  • 举报
回复
GDI+,抗锯齿
wkgenius 2003-08-18
  • 打赏
  • 举报
回复
To: masterz
我觉得应该不是在WM_MOUSEMOVE中进行了画图操作而影响了速度,我按你说地做了,可是还是有锯齿,我想,是不是要涉及到平化处理的算法?
masterz 2003-08-18
  • 打赏
  • 举报
回复
Only draw in OnDraw
store mouse pointer position into some data stucture, use them to do drawing in OnDraw
shines77 2003-08-18
  • 打赏
  • 举报
回复
建立一个原来区域2倍大的缓冲区,这样1个点就扩展为2x2=4个点,在里面划线,然后再把缓冲区每相邻2x2的区域取RGB的平均值,作为输入区域的一个点。

大致原理就是这样,具体效果怎么样,就不知道了,可能需要改进。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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