永发信息网

如何建立一个内存DC并在上面画图

答案:1  悬赏:0  手机版
解决时间 2021-12-03 23:27
如何建立一个内存DC并在上面画图
最佳答案
假如你定义了一个位图类,里面包含位图头,位图信息头,调色板,位图数据。然后你按照位图的格式将位图文件读入你的类中,现在你知道了位图的全部信息了。主要信息包含在位图信息头里面,数据则在位图数据缓冲里面。现在的问题是,在Windows下面如何将一张位图画出来,而且现在是如何从数据缓存里面绘画出位图。
一般情况,我们都是直接绘制在dc里面,而不是绑定到子控件,让子控件自己绘画,比如picture控件之类的,我觉得提供绘制在dc里面的接口更具有广泛性。
  现在我知道两种从内存数据绘制彩色位图的2种方法。第一种麻烦一点,第二种则相当直接。
方法一:
第一步,用CreateCompatibleDC创建跟目标dc的兼容性内存dc。
第二步,用CreateCompatibleBitmap创建跟目标dc的兼容性位图。
第三步,用SelectObject将第二步创建的兼容位图选入第一步创建的兼容dc中。
第四步,用SetDIBits设置兼容位图的数据缓冲。
第五步,用BitBlt将数据从兼容内存dc绘制到目标dc。
第六步,删除兼容位图和兼容dc。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
二代i3二代i5和三代i5多大区别
dnf尼贝尔全名叫什么
山东潍坊顺丰快递员工作时间是早几点到晚几点
洗衣液能把碘伏变清是不是表示去污力强?
一半黑发,一半黄发,怎样把颜色染均匀
十大理由告诉你,为什么选择出国留学
u计划八年级下册学期系统总复习参考答案
cdr里怎么做光束
安联村地址好找么,我有些事要过去,
输入模块,输出模块,输入输出模块是什么意思
充电器6.5v500m a和6.5v600m a区别
The General White his army to attack the e
百公里油耗9.1 9.5什么意思
求朴敏英韩剧清单,年前看过你一个mv男主被扔
T289次列车的餐车在第几节车厢?
推荐资讯
热电厂用什么阀门
向BaCl2溶液中通入SO2至饱和,此过程无明显实
聚鑫、汇鑫、金鑫用作公司名字这三个词哪个好
苏东坡说: 以儒至圣,以道..? 以佛..?
淮南五中的著名学生
我家的电动卷帘门用遥控开启上升至顶端后,不
女生衣领低 男生帮扣扣子
Allmatteris_______atoms.A.madeupof
怎么切换显示屏线和HDMI线
行车记录仪怎么不显示行进公里数
我有一辆宏光S汽车,刚买半年第一次保养在三
钢结构厂房,跨度11米长100米,柱子间距4米一
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?