MFC CBRUSH的分析 画刷颜色怎么填充?
MFCCBRUSH的分析CBrushbrush;brush.CreateSolidBrush(RGB_SIGNAL_BLACK);dc.SelectObject(&bru...
MFC CBRUSH的分析
CBrush brush;
brush.CreateSolidBrush(RGB_SIGNAL_BLACK);
dc.SelectObject(&brush);
CPen pen2(PS_SOLID,1,RGB_SIGNAL_WHITE);
CPen *pOldPen2=dc.SelectObject(&pen2);
dc.Ellipse(x1+dR+dz,y1-R,x1+3*dR+dz,y1+R);
能不能说下每一句话的作用?主要疑问是画刷怎么将颜色弄到圈里面的? 展开
CBrush brush;
brush.CreateSolidBrush(RGB_SIGNAL_BLACK);
dc.SelectObject(&brush);
CPen pen2(PS_SOLID,1,RGB_SIGNAL_WHITE);
CPen *pOldPen2=dc.SelectObject(&pen2);
dc.Ellipse(x1+dR+dz,y1-R,x1+3*dR+dz,y1+R);
能不能说下每一句话的作用?主要疑问是画刷怎么将颜色弄到圈里面的? 展开
3个回答
展开全部
CreateSolidBrush(RGB_SIGNAL_BLACK);这种方式创建了一种固定模式的画刷,也就是系统中已经把颜色给你填充好了,如果想要自己的颜色,更换方式,直接调用构造或者调用另外的接口传入颜色值就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你设备环境中选入了 画笔和画刷,画形状的时候 会自动填充的内部和边框,不用fill
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CBrush brush;
//定义CBrush对象
brushbrush.CreateSolidBrush(RGB_SIGNAL_BLACK);
//创建solidbrush,且以RGB_SIGNAL_BLACK填充
dc.SelecObject(&brush);
//将brush选入dc中
CPen pen2(PS_SOLID,1,RGB_SIGNAL_WHITE);
//创建白色的线宽为1的实线
CPen *pOldPen2=dc.SelectObject(&pen2);
//保存dc中原来的画笔
dc.Ellipse(x1+dR+dz,y1-R,x1+3*dR+dz,y1+R);
//在矩形(x1+dR+dz,y1-R,x1+3*dR+dz,y1+R)内画x轴半径为dR+dz,y轴半径为R的椭圆,圆心位置为(x1+2dR+dz,y1)
//定义CBrush对象
brushbrush.CreateSolidBrush(RGB_SIGNAL_BLACK);
//创建solidbrush,且以RGB_SIGNAL_BLACK填充
dc.SelecObject(&brush);
//将brush选入dc中
CPen pen2(PS_SOLID,1,RGB_SIGNAL_WHITE);
//创建白色的线宽为1的实线
CPen *pOldPen2=dc.SelectObject(&pen2);
//保存dc中原来的画笔
dc.Ellipse(x1+dR+dz,y1-R,x1+3*dR+dz,y1+R);
//在矩形(x1+dR+dz,y1-R,x1+3*dR+dz,y1+R)内画x轴半径为dR+dz,y轴半径为R的椭圆,圆心位置为(x1+2dR+dz,y1)
追问
意思是 只要定义了画刷 不管后边什么图形都会自动填充而不需要类似于FII``的功能了?这个函数后边为啥还原旧画笔的语句呢?
追答
画刷的作用是在画以后的封闭图形会有填充效果,直到你选择空画刷为止,当然,前提是你要将你定义的画刷选到设备描述表中。系统默认是白色画刷,你可以更改。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询