delphi 图片去底色转为透明png
时间: 2023-08-10 13:04:43 浏览: 306
可以通过以下步骤将 Delphi 图片去底色转为透明 PNG:
1. 加载源图片到 Delphi 中的 TBitmap 对象中,例如:
```delphi
var
bmp: TBitmap;
begin
bmp := TBitmap.Create;
try
bmp.LoadFromFile('source.bmp');
// 处理图片
finally
bmp.Free;
end;
end;
```
2. 设置 TBitmap 对象的透明色,例如:
```delphi
bmp.Transparent := True;
bmp.TransparentColor := bmp.Canvas.Pixels[0, bmp.Height - 1];
```
这里将透明色设置为图片左下角的像素颜色。
3. 创建 TPNGImage 对象,将 TBitmap 对象绘制到 TPNGImage 中,并保存为 PNG 文件,例如:
```delphi
var
png: TPNGImage;
begin
png := TPNGImage.CreateBlank(COLOR_RGBALPHA, 8, bmp.Width, bmp.Height);
try
png.Canvas.Draw(0, 0, bmp);
png.SaveToFile('output.png');
finally
png.Free;
end;
end;
```
这里创建了一个空白的 TPNGImage 对象,将颜色模式设置为 RGBA,然后将 TBitmap 对象绘制到 TPNGImage 中,并保存为 PNG 文件。
这样就完成了 Delphi 图片去底色转为透明 PNG 的操作。
阅读全文