首页 >> 大全

[MFC] 画笔、画刷的使用

2023-11-26 大全 27 作者:考证青年

流程:

a)定义画家(()函数中实现)

b)定义画笔(CPen)、画刷( )–填充封闭图形,包括样式、颜色等。

c)将画笔、画刷交给画家使用----CDC::

实现:在()函数中加入

	CPaintDC dc(GetDlgItem(IDC_STATIC3)); //用此句,得到picture控件的DC,图像将被绘制在控件上//画笔---CPen//画线//PS_SOLID:虚线,只有当画笔为1或者更小时才有效//10:线宽CPen pen(PS_SOLID,1,RGB(255,0,0));dc.SelectObject(&pen);dc.MoveTo(0,0);dc.LineTo(200,200);//画刷---CBrush//画圆dc.Ellipse(20,20,120,120);//直径为100//填充CBrush brush(RGB(255,0,0));dc.SelectObject(&brush);dc.Ellipse(20,20,120,120);

绘制位置的选择有三种,任选一种:

_绘画笔刷_mfc画笔和画刷

1) dc(this); //若用此句,得到的是对话框的DC,图片将被绘制在对话框上.

2) dc(()); //用此句,得到控件的DC,图像将被绘制在控件上

3)CDC dc;

dc.m_hDC=::GetDC(NULL); //若用此两句,得到的是屏幕的DC,图片将被绘制在屏幕上

CPen类型函数pen()第一个参数是线型,有如下线型:

注意: 不要将实现代码放在if (())语句下,因为()作用是判断窗口是否处于最小化状态(点击了最小化按钮之后),一般将窗口最小化之后,才会执行里面的语句。

绘画笔刷_mfc画笔和画刷_

结果:

/******************************************************************************************************/

上面说的是在控件上进行绘图,那么在图片上如何进行操作呢?

很简单,为你图片所在的控件添加一个变量,比如m_pic,然后在()中加入

//实现图片打开功能的函数
OnBnClickedButton2();
//例:在图片上画一个圆
CDC *pDC = m_pic.GetWindowDC();
CPen pen(PS_SOLID,6,RGB(255,0,0));
pDC->SelectObject(&pen);
pDC->Ellipse(100,100,101,101);

效果:

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了