59_画笔画刷

画笔画刷

  • 都是(GDI)graphics device interface图形设备接口对象

画笔的封装的类CPen

创建一个画笔

CPen pen;

pen.CreatePen(PS_SOLID, 1, RGB(255, 255, 0)); //风格,粗细,三原色

pDC->SelectObject(pen); //dc选择创建的画笔

两种画笔类型

      • COSMETIC(修饰画笔)位图:会失真
      • PS_GEOMETRIC (几何画笔) 矢量图,不会失真

画刷类CBrush

创建一个填充画刷,

CBrush brush; //画刷

brush.CreateSolidBrush(RGB(0, 255, 0)); //创建已RGB填充颜色的画笔

pDC->SelectObject(brush);

创建一个阴影画刷

CBrush brush; //画刷

brush.CreateHatchBrush(HS_BDIAGONAL, RGB(0, 255, 0));

pDC->SelectObject(brush);

创建一个位图画刷

CBrush brush; //画刷

CBitmap bit;

bit.LoadBitmap(资源id);

brush.CreatePatternBrush(&bit);

pDC->SelectObject(brush);

创建一个空心画刷

方法一

LOGBRUSH logBrush;

logBrush.lbStyle = BS_NULL;

brush.CreateBrushIndirect(&logBrush);

pDC->SelectObject(brush);

方法二 出作用域之后不生效

pDC->SelectStockObject(NULL_BRUSH); //选择Windows提供的预定义钢笔、画笔或字体之一

创建对话框实现设置画笔画刷

添加MFC对话框类

设计界面

设置画笔画刷对话框类成员

初始化样式选择

初始化样式选择值

设置画笔画刷对话框类成员函数设置画笔颜色

设置画笔画刷对话框类成员函数设置画刷颜色

保存画笔画刷信息

获取画笔画刷信息


视图类添加类成员已保存已经设置过的画笔画刷

抽象图形基类里保存画笔画刷成员属性,实现初始化值

在图形类里面构造函数初始化一下画笔和画刷

视图类给默认参数

绘图的时候调用抽象基类设置画笔画刷

鼠标按下的时候保存当前画笔画刷

作业

完成画笔画刷的设置, 注意初始化

https://github.com/xkkhh/Cracking/tree/master/06CAD03

0 条评论
发表一条评论