请高手讨论:位图的几种显示方式的归纳和区别!

youda 2003-08-08 04:57:41
在位图的显示方式上,网上讲的很多,涵数也很多,觉得太杂、乱。能否归纳一下位图的显示方法?直接READ和装如内存的方式及相关函数,DDB和DIB的显示区别及相关涵数,等等!
...全文
75 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
youda 2003-08-26
  • 打赏
  • 举报
回复
TO:zyl910(910:分儿,我又来了!)

谢谢你的答复,我也是按这种方法做的,我不明白的是CreateDIBSection这个涵数里面位数据参数(位数据指针:VOID *ppvBits,)怎样赋值?在DC(內存)里面画,是不是*ppvBits就自动改变?在保存的时候怎么操作它,是不是在画完后,通知DC(内存)说明它的改变?
PLEASE HELP!分数不是问题!

limd 2003-08-12
  • 打赏
  • 举报
回复
我这方面的知识也比较缺乏,请各位多多指教
wsljj_2002 2003-08-11
  • 打赏
  • 举报
回复
学习!
hk028 2003-08-11
  • 打赏
  • 举报
回复
good
vxhelp 2003-08-11
  • 打赏
  • 举报
回复
观注一下
zyl910 2003-08-11
  • 打赏
  • 举报
回复
我喜欢将它转为DIBSection(用CreateDIBSection创建)
选入DC
可以直接用BitBlt显示
Sportbeuty 2003-08-11
  • 打赏
  • 举报
回复
呵呵,看看。
youda 2003-08-10
  • 打赏
  • 举报
回复
help please
bcpl 2003-08-10
  • 打赏
  • 举报
回复
用OleLoadPicture,IPicture接口,MSDN里有详述,例子
http://download.microsoft.com/download/vc60pro/samp37/1/WIN98/EN-US/Loadpic.exe
idau7 2003-08-10
  • 打赏
  • 举报
回复
我mark一把先~!
youda 2003-08-09
  • 打赏
  • 举报
回复
显示位图有直接READ的吧,可以不装入内存吗?还有,DDB和DIB的显示有何区别,另外还应该考虑调色板的问题吧!
请大家讨论啊!分数不够再加!
andrew_var 2003-08-08
  • 打赏
  • 举报
回复
BMP位图一般显示方法

---- 1. 申请内存空间用于存放位图文件

---- GlobalAlloc(GHND,FileLength);

---- 2. 位图文件读入所申请内存空间中

---- LoadFileToMemory( mpBitsSrc,mFileName);

---- 3. 在OnPaint等函数中用创建显示用位图

---- 用CreateDIBitmap()创建显示用位图,用CreateCompatibleDC()创建兼容DC,

---- 用SelectBitmap()选择显示位图。

---- 4. 用BitBlt或StretchBlt等函数显示位图

---- 5. 用DeleteObject()删除所创建的位图

---- 以上方法的缺点是: 1)显示速度慢; 2) 内存占用大; 3) 位图在缩小显示时图形失真大,(可通 过安装字体平滑软件来解决); 4) 在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如 真彩色)图形失真严重。

DrawDib位图显示

---- 用DrawDib视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理。淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像 。BMP位图显示方法如下:

---- 1. 打开视频函数DrawDibOpen(),一般放在在构造函数中

---- 2. 申请内存空间用于存放位图文件

---- GlobalAlloc(GHND,FileLength);

---- 3. 位图文件读入所申请内存空间中

---- LoadFileToMemory( mpBitsSrc,mFileName);

---- 4. 在OnPaint等函数中用DrawDibRealize(),DrawDibDraw()显示位图

---- 5. 关闭视频函数DrawDibClose(),一般放在在析构函数中

---- 以上方法的优点是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色 位数的设备上显示高颜色位数的图形图形时失真小; 5) 通过直接处理位图数据,可以制作简单动画 。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧