博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC画图总结-DIB图形绘制
阅读量:6078 次
发布时间:2019-06-20

本文共 929 字,大约阅读时间需要 3 分钟。

參考文档:

http://blog.sina.com.cn/s/blog_4c75bd8c0100zsw7.html

Owed by: 春夜喜雨   转载请标明来源 

 

绘制DIB图到到设备,明白一点。DIB设备无关图形向设备CDC上绘的话,肯定是须要经过图形pixel像素转换的,要转换成设备的颜色像素格式。

 

參考这段说明:

DIB的颜色信息储存在自己的颜色表中。程序一般要依据颜色表为DIB创建逻辑调色板。

在输出一幅DIB之前。程序应该将其逻辑调色板选入到相关的设备上下文中并实现到系统调色板中。然后再调用相关的GDI函数(如::SetDIBitsToDevice或::StretchDIBits)输出DIB。

在输出过程中,GDI函数会把DIB转换成DDB,这项工作主要包含下面两步:

将DIB的颜色格式转换成与输出设备同样的颜色格式。

 

比如,在真彩色的显示模式下要显示一个256色的DIB,则应该将其转换成24位的颜色格式。

将DIB像素的逻辑颜色索引转换成系统调色板索引。

 

DIB图形绘制的方法:

1.       通过CImage绘制图形文件(支持png/bmp/jpg/gif等)

对于DIB图形文件。方法比較简单。也比較易用:

已有DIB图形的文件,使用CImage::load载入图形,然后再使用CImage::Draw绘制到设置DC绑定的图形上就可以

 

2.       通过CBitmap载入文件并绘制(仅支持bmp等少量格式)

CImage类似,CBitmap提供了LoadBitmap方法,载入图形,把一个DIB图形载入成为了一个DDB图形。然后能够用CBitmap::Draw等方法绘制

 

3.       通过转换为DDB图形,画图

假设已有内存DIB信息,能够用过CreateDIBitmap函数,把DIB图形结构和数据传入,返回一个DDB的图形HBITMAP

 

4.       直接把DIB图形绘制到设备中,函数中自带转换

SetDIBitsToDevice或StretchDIBits函数,通过输入DIB图形信息和HDC以及绘制区域等,直接把DIB图形绘到设备CDC上。

转载于:https://www.cnblogs.com/clnchanpin/p/6738299.html

你可能感兴趣的文章
shadowtunnel v1.7 发布:新增上级负载均衡支持独立密码
查看>>
Java线程:什么是线程
查看>>
mysql5.7 创建一个超级管理员
查看>>
【框架整合】Maven-SpringMVC3.X+Spring3.X+MyBatis3-日志、JSON解析、表关联查询等均已配置好...
查看>>
要想成为高级Java程序员需要具备哪些知识呢?
查看>>
带着问题去学习--Nginx配置解析(一)
查看>>
onix-文件系统
查看>>
java.io.Serializable浅析
查看>>
我的友情链接
查看>>
多线程之线程池任务管理通用模板
查看>>
CSS3让长单词与URL地址自动换行——word-wrap属性
查看>>
CodeForces 580B Kefa and Company
查看>>
开发规范浅谈
查看>>
Spark Streaming揭秘 Day29 深入理解Spark2.x中的Structured Streaming
查看>>
鼠标增强软件StrokeIt使用方法
查看>>
本地连接linux虚拟机的方法
查看>>
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
NLog文章系列——如何优化日志性能
查看>>