其他的画图核心代码实现

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_44065088/article/details/102754443

由于一个截图一个一个演示太麻烦啦  我直接把核心的代码给大家,按照上一篇划线的步骤,大同小异的做

就可以做出来了

5.4 画刷(填充作用) CBrush brush(RBG(255,0,0));

CClientDC dc(this);

dc.FillRect(CRect(起点,终点)&brush);

5.4.1 位图画刷

CBitmap bitmap;

bitmap.LoadBitmap(IDB_BITMAP1);

CBrush brush(&bitmap);

CClientDC dc(this);

dc.FillRect(CRect(起点,终点), &brush);

5.4.2 默认画刷(白色)

CClientDC dc(this);

dc.Rectangle(CRect(起点,终点));

5.4.3 透明画刷

CClientDC dc(this);

CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));

CBrush *pOldBrush = dc.SelelctObject(pBrush);

dc.Rectangle(CRect(起点,终点));

dc.SelectObject(pOldBrush);

5.5 连续画线

void onMouseMove(UINT nFlag, CPoint point){

CClientDC dc(this);

CPen pen(PS_SOLID, 2, RGB(0,255,0));

CPen *pOldPen = dc.SelectObject(&pen);

if(m_bDraw == TRUE){

dc.MoveTo(起点);

dc.LineTo(point)

起点 = point

}

dc.SelectObject(pOldPen);

}

画扇形

void onMouseMove(UINT nFlag, CPoint point){

CClientDC dc(this);

CPen pen(PS_SOLID, 2, RGB(0,255,0));

CPen *pOldPen = dc.SelectObject(&pen);

if(m_bDraw == TRUE){

dc.MoveTo(起点);

dc.LineTo(point)

dc.LineTo(上一个点)

上一个点 = point

}dc.SelectObject(pOldPen);

}

扇形我没有实现其实就是把画笔的 改一行代码就可以实现了

希望大家喜欢。点播关注,后面还有更多的关于  UNIX 服务器相关的编程  MFC,QT 的相关开发和应用,关于C++的知识点,数据结构和算法我都会一一的和大家一起分享.

猜你喜欢

转载自blog.csdn.net/qq_44065088/article/details/102754443