求32位BMP图像转换为8位BMP代码,谢谢
解决方案 »
- 谁能帮我实现这个功能,grid某列自动显示为日期
- 怎样将控件绑定到GRID?
- 大量数据的录入界面应当如何设计?
- 招聘Delphi程序员(江苏,太仓)
- 请问opendialog和savedialog怎么用??
- 怎样汇总啊?
- 如何实现首先截获从internet上来的http数据流,进行处理以后,然后才转给浏览器进行解析?
- 写了一个组件,其中的方法耗时大,且方法中有不能使用Application.ProcessMessages语句,有何解?如果我要加入进度条,如何加?
- 有关类型转换的问题,高分!!!
- 如何用delphi获得键盘在其他windows应用软件中的输入?
- 关于dephi 的zip压缩!
- 图形跟踪鼠标
var
bmp:tbitmap;
begin
bmp:=tbitmap.Create;
bmp.LoadFromFile('d:\1.bmp');
bmp.PixelFormat:=pf8bit;
bmp.SaveToFile('d:\2.bmp');
end;
任意位BMP图像转换为8位BMPprocedure TForm1.BitBtn1Click(Sender: TObject);
var
bmp:tbitmap;
begin
bmp:=tbitmap.Create;
bmp.LoadFromFile('d:\1.bmp');
bmp.PixelFormat:=pf8bit;
bmp.SaveToFile('d:\2.bmp');
bmp.free;
end;当然你也可以自己写,告位到底位会有颜色的丢失,就涉及到调色板颜色的取舍,这个我也不会,你有兴趣可以研究下。
而8位的BMP图片,只存储了调色版值的引用值(1个字节),实际的颜色是在调色版,Delphi数字图像处理及高级应用,这本书说得很清楚