delphi 把JPG ,bmp生成透明png
时间: 2023-10-02 07:05:19 浏览: 180
要将 Delphi 中的 JPG 和 BMP 图像转换为透明的 PNG 格式,您可以使用 Graphics32 库。Graphics32 是一个免费的开源图形库,它提供了许多处理图像的工具和功能,包括将 JPG 和 BMP 转换为 PNG。
以下是将 JPG 和 BMP 转换为透明 PNG 的代码示例:
```
uses
GR32, GR32_PNG;
procedure JPGtoTransparentPNG(const JPG: TJPEGImage; const Filename: string);
var
PNG: TPortableNetworkGraphic32;
BMP32: TBitmap32;
begin
BMP32 := TBitmap32.Create;
try
BMP32.Assign(JPG);
BMP32.DrawMode := dmBlend;
BMP32.MasterAlpha := $FF; // 设置透明度
BMP32.DrawTo(PNG);
finally
BMP32.Free;
end;
PNG.SaveToFile(Filename);
PNG.Free;
end;
procedure BMPtoTransparentPNG(const BMP: TBitmap; const Filename: string);
var
PNG: TPortableNetworkGraphic32;
BMP32: TBitmap32;
begin
BMP32 := TBitmap32.Create;
try
BMP32.Assign(BMP);
BMP32.DrawMode := dmBlend;
BMP32.MasterAlpha := $FF; // 设置透明度
BMP32.DrawTo(PNG);
finally
BMP32.Free;
end;
PNG.SaveToFile(Filename);
PNG.Free;
end;
```
这个例子中,我们将 JPG 和 BMP 分别转换为 TBitmap32 类型,然后设置透明度,最后再将 JPG 和 BMP 转换为 PNG 格式并保存到文件中。
阅读全文