VC如何获取画笔的轨迹坐标点

shanno 2009-10-15 10:27:22
我想获取画笔的轨迹。比如开始设置画笔的大小为10,那么如果我在OnMouseMove中记录它的坐标,只能得到一条很细的线条。
但是,我想得到10个像素那么宽的完整坐标点。该怎么做啊?
...全文
149 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanno 2009-10-16
  • 打赏
  • 举报
回复
我先记录下鼠标移动的轨迹(在ONMOUSEMOVE中保存点),然后,重新绘制路径(BeginPath()...EndPath(),WindenPath()),然后获取新的点(GetPath())。最后,重新绘制这些点。现在的问题是:如果鼠标移动很慢的话,则能够得到比较好的轨迹(加粗了的),如果鼠标移动得很快,则只能得到一些空心点。不知道问题出在哪里?
gamedragon 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wu_xiangwei 的回复:]
你的方法是可行的,但是最终得到的点好像怪怪的:比如一条曲线得到的是一些空心点。不知道有什么改进的方法啊?
[/Quote]
LZ认为一个点的坐标有10个像素?
shanno 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jcily 的回复:]
自己根据粗度计算轮廓,或者通过GDI路径来取轮廓

BenginPath()
...
...//绘制代码
...
EndPath();
WidenPath();//主要是这个函数
GetPath();// 取点集

各个函数的具体用法参看MSDN吧
[/Quote]
你的方法是可行的,但是最终得到的点好像怪怪的:比如一条曲线得到的是一些空心点。不知道有什么改进的方法啊?
coolcoffee4051982 2009-10-15
  • 打赏
  • 举报
回复
学习
Hiiishe 2009-10-15
  • 打赏
  • 举报
回复
自己根据粗度计算轮廓,或者通过GDI路径来取轮廓

BenginPath()
...
...//绘制代码
...
EndPath();
WidenPath();//主要是这个函数
GetPath();// 取点集

各个函数的具体用法参看MSDN吧

19,468

社区成员

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

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