早教吧作业答案频道 -->其他-->
请教MFC绘制直线橡皮筋效果CClientDCdc(this);dc.SelectObject(brush);dc.SelectObject(pen);dc.SetROP2(R2XORPEN);dc.MoveTo(mptOrigin);dc.LineTo(mptEnd);mptEnd=point;dc.MoveTo(mptOrigin);dc.LineTo(mptEnd);这是OnMouseMove函数中的
题目详情
请教MFC绘制直线橡皮筋效果
CClientDC dc(this);
dc.SelectObject(brush);
dc.SelectObject(pen);
dc.SetROP2(R2_XORPEN);
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
m_ptEnd=point;
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
这是OnMouseMove函数中的代码,m_ptOrigin和m_ptEnd,一个起点,一个终点,都设置为了鼠标按下时的点,现在这段代码我不是很理解,为什么要画2遍呢?那个m_ptEnd=point;的效果又是如何体现的?还有那个SetRop绘图模式,小弟初学,很多不懂,请好心人赐教,分都拿出来了.
CClientDC dc(this);
dc.SelectObject(brush);
dc.SelectObject(pen);
dc.SetROP2(R2_XORPEN);
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
m_ptEnd=point;
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
这是OnMouseMove函数中的代码,m_ptOrigin和m_ptEnd,一个起点,一个终点,都设置为了鼠标按下时的点,现在这段代码我不是很理解,为什么要画2遍呢?那个m_ptEnd=point;的效果又是如何体现的?还有那个SetRop绘图模式,小弟初学,很多不懂,请好心人赐教,分都拿出来了.
▼优质解答
答案和解析
CClientDC dc(this); //创建客户区绘图的DC
dc.SelectObject(brush); //选择要使用的刷子
dc.SelectObject(pen); //选择要使用的画笔
dc.SetROP2(R2_XORPEN); //设置前景色的混色模式为XOR模式,也就是异或模式,在此模式下,前景色=(PEN的颜色 XOR 背景色).两次XOR可还原背景色,这也是为什么要画两遍的原因!
//下面两句话是画一条从orign到end的线条.因为是采用XOR模式,所以它的作用是用于擦除上次画的线条,即还原背景色.
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
//设置新的终点
m_ptEnd=point;
//下面两句话是画一条从orign到end的线条.因为是采用XOR模式,所以它的前景色是PEN与背景色异或的结果.
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
dc.SelectObject(brush); //选择要使用的刷子
dc.SelectObject(pen); //选择要使用的画笔
dc.SetROP2(R2_XORPEN); //设置前景色的混色模式为XOR模式,也就是异或模式,在此模式下,前景色=(PEN的颜色 XOR 背景色).两次XOR可还原背景色,这也是为什么要画两遍的原因!
//下面两句话是画一条从orign到end的线条.因为是采用XOR模式,所以它的作用是用于擦除上次画的线条,即还原背景色.
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
//设置新的终点
m_ptEnd=point;
//下面两句话是画一条从orign到end的线条.因为是采用XOR模式,所以它的前景色是PEN与背景色异或的结果.
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptEnd);
看了 请教MFC绘制直线橡皮筋效果...的网友还看了以下:
25.I"m calling to enquire about the position in y 2020-05-13 …
一个有关取余数的问题DP中原来的方程应该是fori:=1toqdoforj:=0tondofork 2020-05-14 …
i"d rather的问题I"v got a shareholders" meeting at 1 2020-05-14 …
原句:I"d better now tell you how to get here,.我只知道I 2020-05-14 …
求助一个向心力推导中的数学细节以圆心为原点,i为x轴上的单位向量j为y轴上的单位向量速率为v0则速 2020-06-12 …
IQ题:III-V=9,(I-III)+(IV-VI)=2II-IV=?I-V=?III-IV=? 2020-07-19 …
关于利率贴现率问题求解,(1-V^5)/i=4怎么求?各位金融数学的大侠教教套用1/(1+i)=v 2020-08-02 …
(2010•唐山一模)如图,在四棱锥V-ABCD中,底面ABCD是矩形,侧棱VA⊥底面ABCD,E、 2020-11-12 …
关于化学反应速率v=δc/δt当t趋近于0时得到v=dc/dt这里的d的意义是什么,有什么重要内涵? 2020-12-09 …
英语语言学题,看不懂Foreachgroupofsoundslistedbelow,statethe 2020-12-21 …