TBitmap转换位数的问题32位->24位, 32位->4位

dtwstm 2006-03-17 01:08:00
诚心请教大牛:
在TBitmap中存有图片, 用Savetofile('aaa.bmp')后得到的图片为32位

现在希望能存为24bit的bmp图片, 应该如何操作?

另有一图片也是32bit, 包含16种颜色, 即已经知道调色板的颜色值, 图片上已有颜色也均在调色板颜色之内, 如何存为4bit的bmp图片?

诚心请教, 感谢:-)
...全文
343 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
postren 2006-03-17
  • 打赏
  • 举报
回复
例如:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
BP: TBitmap;
begin
BP := TBitmap.Create;
try
BP.LoadFromFile('C:\32.bmp');
BP.PixelFormat := pf24bit;
BP.SaveToFile('C:\24.bmp');
finally
BP.Free;
end;
end;
dtwstm 2006-03-17
  • 打赏
  • 举报
回复
多谢 已经找到答案了

没想到没想到 Delphi处理这个问题这么简单
差点昨天用VC写个DLL了...
postren 2006-03-17
  • 打赏
  • 举报
回复
设置Bitmap.PixelFormat
TPixelFormat = (pfDevice, pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit, pf32bit, pfCustom);

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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