如何将bmp 格式的图片中的黑色底色替换成白色并保存到文件?

Demogodyou 2008-07-10 12:17:01
如何将bmp 格式的图片中的黑色底色替换成白色并保存到文件?
...全文
790 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Demogodyou 2008-07-11
  • 打赏
  • 举报
回复
多谢多谢!
阿发伯 2008-07-10
  • 打赏
  • 举报
回复
没测试,供参考:


var
x, y: Integer;
p: PInteger;
bmp: TBitmap;
begin
bmp := TBitmap.Create;
bmp.LoadFromFile('你的图像.bmp');
bmp.PixelFormat := pf24bit;
for y := 0 to bmp.Height - 1 do
begin
p := bmp.ScanLine[y];
for x := 0 to bmp.Width - 1 do
if P^ and $FFFFFF = 0 then
P^ := P^ or $FFFFFF;
end;
bmp.SaveToFile('另存为图像.bmp');
bmp.Free;
end;
阿发伯 2008-07-10
  • 打赏
  • 举报
回复
用bmp.ScanLine逐点判断后修改,保存
jacknes009 2008-07-10
  • 打赏
  • 举报
回复
楼上正解。。。。

var
x, y: Integer;
p: PInteger;
bmp: TBitmap;
pixelFormat: TPixelFormat;
begin
bmp := TBitmap.Create;
bmp.LoadFromFile('你的图像.bmp');
pixelFormat := bmp.PixelFormat;
bmp.PixelFormat := pf32bit;
for y := 0 to bmp.Height - 1 do
begin
p := bmp.ScanLine[y];
for x := 0 to bmp.Width - 1 do
begin
if (P^ and $FFFFFF) = 0 then
P^ := P^ or $FFFFFF;
Inc(p);
end;
end;
bmp.PixelFormat := pixelFormat;
bmp.SaveToFile('另存为图像.bmp');
bmp.Free;
end;

阿发伯 2008-07-10
  • 打赏
  • 举报
回复
晕,测试了一下,居然错误,再次修改:


var
x, y: Integer;
p: PInteger;
bmp: TBitmap;
pixelFormat: TPixelFormat;
begin
bmp := TBitmap.Create;
bmp.LoadFromFile('你的图像.bmp');
pixelFormat := bmp.PixelFormat;
bmp.PixelFormat := pf32bit;
for y := 0 to bmp.Height - 1 do
begin
p := bmp.ScanLine[y];
for x := 0 to bmp.Width - 1 do
begin
if (P^ and $FFFFFF) = 0 then
P^ := P^ or $FFFFFF;
Inc(p);
end;
end;
bmp.PixelFormat := pixelFormat;
bmp.SaveToFile('另存为图像.bmp');
bmp.Free;
end;
阿发伯 2008-07-10
  • 打赏
  • 举报
回复
忘了增加p的地址,修改:

var
x, y: Integer;
p: PInteger;
bmp: TBitmap;
begin
bmp := TBitmap.Create;
bmp.LoadFromFile('你的图像.bmp');
bmp.PixelFormat:=pf24bit;
for y := 0 to bmp.Height - 1 do
begin
p := bmp.ScanLine[y];
for x := 0 to bmp.Width - 1 do
begin
if P^ and $FFFFFF = 0 then
P^ := P^ or $FFFFFF;
Inc(p);
end;
end;
bmp.SaveToFile('另存为图像.bmp');
bmp.Free;
end;

1,183

社区成员

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

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