可视化:Windows图形设备接口及绘图
Windows图形设备接口(GDI)
图形设备接口(GDI)是为与设备无关的图形设计的。
- win系统提供了应用程序与具体设备分离的功能,由os将应用程序的图形输入转变为设备的输出。GUI的设备无关性是os的特色之一,用户通过通知GUI来加载相应的硬件设备。
图像刷新
- 什么时候要刷新?
窗口覆盖恢复,窗口移动,对象穿越(如光标移动)。
图形刷新包括:1、刷新的请求 2、系统对刷新请求的相应 3、具体的刷新方法。
设备
一般指打印机,绘图仪等输出设备。
- 获取设备环境
①响应WM_PAINT消息进行图形刷新时:
HDC hdc = BeginPaint(hwnd,&ps);//ps为PAINTSTRUCT类型,用于标识无效区域
//释放
EndPaint(hwnd,&ps);
②若不是由WM_PAINT消息驱动,则调用GetDC()
hdc = GetDC(hwnd);
//释放
ReleaseDC(hwnd,hdc);
③GetDCEx()是GetDC()的扩展,返回指向特定窗口的用户区或整个窗口的句柄,释放函数一样。
映射模式
用户在逻辑坐标系绘制与操作即可,映射模式定义了逻辑坐标系到设备的度量单元与方向的转换。
//设置模式:
SetMapMode(hdc,nMapMode);
//得到当前设备环境模式
nMapMode = GetMapMode(hdc);//窗口区域定义
SetWindowExtEx()
//视口区域定义
SetViewPortExtEx()
获取用户区尺寸
getWindowRect()
getClientRect()
绘图工具与颜色
画笔
创建:HPEN hp=(HPEN)GetStockObject():
可获取系统定义的4种画笔。
hp=CreatePen()
创建新画笔
将画笔选入设备环境:hpOld=SelectObject(hdc,hp)
。SelectObject()函数会保存上一次画笔,所以删除前有必要的话可以恢复。
删除画笔:DeleteObject(hp)
:
颜色
RGB(255,255,255)
常用绘图函数
设置当前画笔位置:MoveToEx()
从当前位置向指定位置画直线:LineTo()
线段依次连接给定点:PolyLine()
弧线:Arc()
扇形:Pie()
填充的矩形:Rectangle()
圆角矩形:RoundRect()
椭圆:Ellipse()
多边形:Polygon()
文本输出与字体设置
windows系统提供7种基本字体。
选择系统字体步骤:
- 定义字体句柄变量
HFONT hf
- 获取系统字体句柄:
hf=(HFONT)GetStockObject()
- 将字体选入设备环境:
SetObject(hf)
创建自定义字体
hf=CreateFont()
设置字体和背景颜色
SetTextColor(hdc,color)
setBkColor(hdc,color)
文本输出过程
- 获取字体信息
:GetTextMetrix(hdc,&tm)
- 格式化文本:(1)确定后续文本坐标:GetTextExtentPoint()。(2)确定换行时文本坐标:
y=y0+tm.tmHeight+tm.tmExternalLeading
- 文本输出(1)
TextOut()
或DrawText()
//这种输出的字符被一个矩形框着`。
可视化:Windows图形设备接口及绘图相关推荐
- Windows的图形设备接口(GDI)入门 上篇
Windows图形设备接口(GDI)是为与设备无关的图形设计的.所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异,使用户编程时无需考虑特殊的硬件设置. 我们利用GDI所提供的众多函数就可以方便的在屏 ...
- MFC GDI 图形设备接口函数
图形设备接口 图形设备接口(Graphics Device Interface) MFC的四种DC 常用函数 库存的GDI对象: RGB和YUV颜色空间 CColorDialog 颜色选择通用对话框 ...
- 一款基于 Java 的可视化 HTTP API 接口开发神器
今天推荐的 5 个项目是: magic-api :一款基于 Java 的可视化 HTTP API 接口开发神器. LanguageTool : 一款基于 Java 语言编写的开源语言校正工具. toB ...
- 深圳租房数据可视化分析【Plotly库绘图】
深圳租房数据可视化分析[plotly库绘图] 一.技术介绍 1.可视化技术支持来源: 2.选择plotly理由: 二.代码实现及分析: 1.导入库及解读数据集: 2.数据清洗与转换 3.统计数据 4. ...
- windows编程之GDI绘图 -- 实验3-1
windows编程之GDI绘图 – 实验3-1 文章目录 windows编程之GDI绘图 -- 实验3-1 @[toc] 1.实验名称 2.实验目的 3.实验的步骤和方法 4.代码实现 5.思考题 6 ...
- 【二十二】win 10 :Jmeter 报告可视化 —— 配置 Jmeter 接口 HTML 可视化测试报告,Jenkins + Jmeter + Ant 自动化集成环境搭建
目录 一.环境搭建 二.文件下载 三.文件配置 四.本地调试 五.创建.bat文件 六.Jenkins配置邮件 七.配置测试项目 八.自动部署成功校检 九.jmeter仪表盘HTML报告自动化构建 一 ...
- Windows高级工程师:GDI+绘图;基础入门大全
Windows GDI绘图基础知识 一.Windows可以画直线.椭圆线(椭圆圆周上的曲线)和贝塞尔曲线. 7 个画线函式是: (1)画直线 LineTo BOOL LineTo(HDC hdc ...
- python echarts接口_python绘图pyecharts+pandas的使用详解
pyecharts介绍 pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒 为避免绘制缺 ...
- wxpython可视化_使用wxPython的绘图模块wxPyPlot进行数据可视化
[Python进阶(四十)-数据可视化の使用matplotlib进行绘图前言 matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.我将在这篇文章中介绍matp ...
最新文章
- 请教于国富律师——怎样把灰鸽子病毒和灰鸽子程序区分开
- MySQL主从复制故障案例一
- transactional replication 的immediate_sync属性
- 微软下周将发布重磅安全公告 修复40个漏洞
- 【PAT乙】1003 我要通过! (20分) 字符串条件判定
- 西岛住宿软件测试,西岛踩坑记:寄存行李居然还要收费!听说要晋升5A,你觉得呢?...
- 拼接sql语句参数绑定
- 为了躲开违规电动车,我一下子撞电线杆上了
- FPGA之SSI接口协议实现
- 专业数字功放工作原理以及应用电路介绍
- Origin实现中英文版本切换
- NRF52840学习历程(十一)幻彩RGB灯之WS2812B
- 标准盒子模型简单讲解
- 1.2 Unity3D 的注册
- android 修改aar包资源文件的最简单方法
- A. 贝壳找房性价比
- 盘点MES系统物料管理那些事儿
- 医学图像处理涉及到的窗宽窗位 1
- 论文版「ChatGPT」来了!看论文问问题可同时进行,网友:看文献更省时了|开源...
- 字符串插入字符串函数