当前位置: 首页 > news >正文

MFC 绘图

效果图:三张bmp图 + 字 + 竖线 组成

在OnPaint()函数中

        CPaintDC dc(this);CRect rect;GetClientRect(&rect); //获取客户区矩形CDC   dcBmp;             //定义并创建一个内存设备环境dcBmp.CreateCompatibleDC(&dc);             //创建兼容性DCCBitmap   bmpBackground;                    bmpBackground.LoadBitmap(IDB_BITMAP8);    //载入资源中图片(背景图)BITMAP   m_bitmap;                         //图片变量               bmpBackground.GetBitmap(&m_bitmap);       //将图片载入位图中//将位图选入临时内存设备环境CBitmap  *pbmpOld = dcBmp.SelectObject(&bmpBackground);int x = 100; //在那个位置开始画int y = 100;//调用函数显示图片(不透明)dc.BitBlt(x, y, m_bitmap.bmWidth, m_bitmap.bmHeight, &dcBmp, 0, 0, SRCCOPY);		dcBmp.SelectObject(pbmpOld); //恢复CDCbmpBackground.DeleteObject();//删除,以便后面复用该变量//对于矩形背景,也可以直接画矩形{//圆角矩形,填充颜色,边框颜色不同//CBrush frameBrush, bgbrush;//bgbrush.CreateSolidBrush(RGB(231, 243, 235));//主窗体背景色画刷//frameBrush.CreateSolidBrush(RGB(183, 211, 190));//CRgn rgn;//rgn.CreateRoundRectRgn(x, y, x + 346, y + 58, 16, 16);//圆角的窗体区域//dc.FillRgn(&rgn, &bgbrush);//dc.FrameRgn(&rgn, &frameBrush, 3, 3);}bmpBackground.LoadBitmap(IDB_BITMAP9);    //载入资源中图片(状态图)bmpBackground.GetBitmap(&m_bitmap);       //将图片载入位图中pbmpOld = dcBmp.SelectObject(&bmpBackground);//调用函数显示图片//dc.BitBlt(x + 16, y + 8, m_bitmap.bmWidth, m_bitmap.bmHeight, &dcBmp, 0, 0, SRCCOPY);//显示图片,透明,根据颜色参数进行透明,比如给的白色,白色就是透明色dc.TransparentBlt(x + 16, y + 8, m_bitmap.bmWidth, m_bitmap.bmHeight, &dcBmp, 0, 0, m_bitmap.bmWidth, m_bitmap.bmHeight, RGB(255, 255, 255));dcBmp.SelectObject(pbmpOld); //恢复CDCbmpBackground.DeleteObject();//删除bmpBackground.LoadBitmap(IDB_BITMAP10);    //载入资源中图片(LIS图标)bmpBackground.GetBitmap(&m_bitmap);       //将图片载入位图中pbmpOld = dcBmp.SelectObject(&bmpBackground);//调用函数显示图片StretchBlt显示形状可变//dcBmp.BitBlt(x + 207, y + 8, m_bitmap.bmWidth, m_bitmap.bmHeight, &dcBmp, 0, 0, SRCCOPY); //画bmp,不透明dc.TransparentBlt(x + 207, y + 8, m_bitmap.bmWidth, m_bitmap.bmHeight, &dcBmp, 0, 0, m_bitmap.bmWidth, m_bitmap.bmHeight, RGB(255, 255, 255));dcBmp.SelectObject(pbmpOld); //恢复CDCbmpBackground.DeleteObject();//删除dcBmp.DeleteDC(); //删除cdc //画字CFont new_font;//创建字体宋体格式 new_font.CreateFont(14, // nHeight0, //以逻辑单位方式指定字体中字符的平均宽度0, //指定偏离垂线和X轴在显示面上的夹角(单位:0.1度)0, //指定字符串基线和X轴之间的夹角(单位:0.1度)FW_BOLD, //指定字体磅数FALSE, //是不是斜体FALSE, //加不加下划线0, //指定是否是字体字符突出ANSI_CHARSET, //指定字体的字符集OUT_DEFAULT_PRECIS, //指定所需的输出精度CLIP_DEFAULT_PRECIS, //指定所需的剪贴精度DEFAULT_QUALITY, //指示字体的输出质量DEFAULT_PITCH | FF_SWISS, //指定字体的间距和家族_T("思源黑体") //指定字体的字样名称);//选择该字体进入PDCCFont* default_font = dc.SelectObject(&new_font);//设置字体背景为透明dc.SetBkMode(TRANSPARENT);//设置字体颜色dc.SetTextColor(RGB(0, 0, 0));//显示文本,左对齐CRect textRect;textRect.SetRect(x + 88, y + 11, x + 88 + 98, y + 11 + 14);dc.DrawText(CString("状态"), textRect, DT_SINGLELINE | DT_LEFT | DT_VCENTER);textRect.SetRect(x + 271, y + 11, x + 271 + 50, y + 11 + 14);dc.DrawText(CString("LIS"), textRect, DT_SINGLELINE | DT_LEFT | DT_VCENTER);//恢复PDC的缺省字体dc.SelectObject(default_font);//释放font对象new_font.DeleteObject();//画线CPen newPen, *oldPen;newPen.CreatePen(PS_SOLID, 2, RGB(219, 219, 219));oldPen = dc.SelectObject(&newPen);//选择改画笔dc.MoveTo(x+198, y+16);dc.LineTo(x + 198, y + 16 + 24);dc.SelectObject(oldPen); //恢复newPen.DeleteObject();

http://www.lryc.cn/news/176359.html

相关文章:

  • 算法 用两个栈实现队列-(栈+队列)
  • Android单编模块报FAILED: ninja: unknown target ‘MODULES-IN-vendor错误解决
  • 地球的某一片红薯地中秋圆《乡村振兴战略下传统村落文化旅游设计》——旅行季许少辉八月新书辉少许想象和世界一样宽广
  • Zookeeper-命令操作
  • eclipse 添加注释
  • Linux网络编程- 网络字节顺序
  • 如何永久关闭WPS任务窗口?
  • Cesium 问题:加载 geojson 数据量大浏览器会崩,使用primitive方式加载
  • C++ Primer----1.5类简介 章节练习
  • 爬楼梯Java(斐波那契数列)
  • Maven项目package为jar包后在window运行报A JNI error has occurred
  • iview 的table表格组件使单元格可编辑和输入
  • 统计的基本概念及抽样分布
  • 【C++】class的设计与使用(四)this指针
  • mysql 导入sql文件
  • springcloud:三、ribbon负载均衡原理+调整策略+饥饿加载
  • 【Unity编辑器扩展】Tranform组件自定义扩展,复制位置旋转缩放数据
  • 自动驾驶领域中的CMS系统应用探讨
  • 十分钟理解OSPF路由协议
  • Python 编程基础 | 第一章-预备知识 | 1.4、包管理工具
  • delphi中使用CADVCL 10.0 Enterprise控件解析DXF文件生成图片保存到本地
  • Hazelcast系列(三):hazelcast管理中心
  • QT 绘画功能的时钟
  • 设计模式之道-模板方法模式
  • 头哥的实践平台的Linux文件/目录管理
  • 软件测试基本常识
  • Xmake v2.8.3 发布,改进 Wasm 并支持 Xmake 源码调试
  • Serverless 数仓技术与挑战(内含 PPT 下载)
  • 九牧小牧携手国家队!一场“中国卫浴“和“中国体育”的双向奔赴
  • crypto:Quoted-printable