关于一个图像保存的问题

zsy_good 2005-08-12 04:37:05
我使用这个函数可以在 windows系统下32位下面正常工作。

Bitmap := CreateDIBitmap(Getdc(0), pVideoHeader.bmiHeader, CBM_INIT, @pBuffer[0],BitmapInfo, DIB_RGB_COLORS );

当修改位16位色时候函数无法成功,我应该怎么办。

16位色的时候是不是灰度图需要调色版,我应该怎么修改这个代码
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqhhh 2005-08-12
  • 打赏
  • 举报
回复
没搞过方面的
zsy_good 2005-08-12
  • 打赏
  • 举报
回复
很急啊
bibitcount = 12

哪个函数不能处理 12 应该怎么办,是不是压缩后的,如何解压缩
zsy_good 2005-08-12
  • 打赏
  • 举报
回复
32位色下面的值 ((40, 320, 240, 1, 24, 0, 230400, 0, 0, 0, 0))
16位色下面的值 ((40, 320, 240, 1, 12, 808596553, 115200, 0, 0, 0, 0))
tagBITMAPINFOHEADER = packed record
biSize: DWORD;
biWidth: Longint;
biHeight: Longint;
biPlanes: Word;
biBitCount: Word;
biCompression: DWORD;
biSizeImage: DWORD;
biXPelsPerMeter: Longint;
biYPelsPerMeter: Longint;
biClrUsed: DWORD;
biClrImportant: DWORD;
end;



zsy_good 2005-08-12
  • 打赏
  • 举报
回复
32位色下面 biCompression = 0
16位色下面 biCompression <> 0 证明是压缩了的。
xixuemao 2005-08-12
  • 打赏
  • 举报
回复
这个函数的帮助里有没有说明必须32位下才可以用啊?

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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