| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题:如何不让画出的线条成扇形?
只看楼主 加入收藏
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:6 
如何不让画出的线条成扇形?
终于学校放寒假了,先在这里提前祝大家新年快乐!
下面说正事!
想实现跟一些画图软件中的 能够按下并让鼠标移动的画直线功能!
但试了下面两种办法 都不行!
两种结果如图所示:
图片附件: 游客没有浏览图片的权限,请 登录注册

1.刚开始用了dc.SetROP2(R2_NOTXORPEN);这个函数设置绘图模式!但结果不行!
2.后来自己想了个办法就是 将先前画过的那些直线的点保存起来然后再下一次画图时,将先前的直线重新设置为背景色重画一遍!
在OnMouseMove中添加的代码实现如下:
程序代码:
             pen->DeleteObject();                             //先删除 之前的画笔
             pen->CreatePen(PS_SOLID,Width,dc.GetBkColor());  //重新创建画笔,并设置为背景色
             dc.SelectObject(pen);                            //重新载入画笔
             dc.MoveTo(LstLinePtBeg);                         //
             dc.LineTo(LstLinePtEnd);                         //用背景色重画上次保存的线条 以实现隐藏的功能!
             pen->DeleteObject();                             //删除画笔

            pen->CreatePen(PS_SOLID,Width,RGB(200,0,0));      //创建画笔  自定义的颜色画
            dc.SelectObject(pen);                             //再次载入画笔
            dc.MoveTo(ptBeg);                                //ptBeg是按下的 点!
            dc.LineTo(point);                                //画到point是移动的点
             LstLinePtBeg=ptBeg;                             //保存好当前的 点
             LstLinePtEnd=point;                            //保存好当前的 点
搜索更多相关主题的帖子: 如何 如图所示 背景色 办法 
2013-01-16 14:15
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
孙鑫那边书有个一样的例子,下载来看下,

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-01-17 00:10
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
收藏
得分:0 
回复 2楼 yuccn
?????????孙鑫讲的 没有啊?
2013-01-17 12:42
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
收藏
得分:0 
回复 2楼 yuccn
其实那个画线的 我差不多 解决了!
dc.SetROP2(R2_NOTXORPEN|R2_NOT); 这样设置位图模式 对于 平滑的 画矩形都没问题!只是画出来是虚线的
2013-01-17 12:45
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
收藏
得分:0 
回复 2楼 yuccn
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-01-17 12:56
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
收藏
得分:0 
回复 2楼 yuccn
看这是画的矩形
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-01-17 12:57
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
收藏
得分:0 
回复 2楼 yuccn
话说 孙鑫的 画图的章节中还这没有啊 ?  不晓得 他的书中有没有, 反正 视频中是没有!他全是  鼠标松开完成的一个图形的绘制!
不过 现在 完全已经自行解决了
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 々NARUTO 于 2013-1-17 19:06 编辑 ]
2013-01-17 19:05
快速回复:如何不让画出的线条成扇形?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035599 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved