神经外科重要性:VC显示DIB位图方法
来源:百度文库 编辑:偶看新闻 时间:2024/10/05 22:40:55
显示DIB的方法:
DIB涉及到了调色板,所以显示DIB的步骤当中必须包含生成、设置以及实现调色板的内容(24位真彩色系统除外)。
大体上来说,显示DIB有两种方法:
方法一 直接利用API函数。
法1:可以借助DDB来显示DIB,此时需要将DIB“转换”成DDB,因此就要先用CreateDIBitmap()创建一个DDB,然后调用SetDIBitmap()将DIB拷贝到DDB当中,再将DDB选进内存DC,最后调用BitBlt()函数在显示屏上显示。其总体思路与显示DDB的方法很类似。
法2:还有一种方法是将位图文件直接读入内存,这时需要获得位图文件结构中的有关位图信息及显示数据(文件结构见图2)。读入这些信息以后,如果是24位真彩色位图,就可以调用StretchDIBits()函数直接显示DIB,而不必借助于DDB。而如果位图不是24位真彩色的,那还要先处理颜色表,根据颜色表来建立位图显示调色板,再进行显示。
加入位图资源 直接显示(24位真彩色位图)
(StretchDIBits()函数)
读入位图文件的格式信息 构造逻辑调色板(其它位图) 创建调色板
(CreatePalette()函数)
设置调色板 显示调色板 显示位图
SelectPalette() RealizePalette() (BitBlt()、StretchDIBits())
vc++打开位图
在vc界面中,如何通过一个按钮打开位图,并把位图显示在picture控件上(最好有代码)
如何用VC++6.0在窗口里显示一个位图?请高手指点
关于VC中位图的删除问题!!
关于使用VC++6.0来添加位图!
关于使用VC++6.0来添加位图!
关于使用VC++添加位图资源!
如何使用VC++添加位图!
关于使用VC++添加位图资源!
关于使用VC++6.0来添加位图!
关于使用VC++6.0来添加位图!
关于使用VC++6.0来添加位图!
关于使用VC++6.0来添加位图!
有关vc读取位图灰值得问题
位图的定义和位图的产生方法
我想请问下VC工具条位图透明怎么弄~?
如何在VC中实现bmp位图的读取?
VC++中实现位图加载步骤有哪些啊?
关于如何使用VC++6.0来添加位图!
关于vc++游戏编程的位图(有追加分!)
关于vc++游戏编程的位图(有追加分!)
请问VC中的兼容DC和兼容位图是什么意思?
有关VC++中位图资源使用的初级问题
BMP格式位图TC语言显示