delphi11 jpg转bmp
时间: 2023-08-08 18:14:07 浏览: 97
以下是 Delphi 11 中将 JPG 转换为 BMP 的示例代码:
```
uses
JPEG;
procedure ConvertJpgToBmp(const FileName: string);
var
jpg: TJPEGImage;
bmp: TBitmap;
begin
jpg := TJPEGImage.Create;
bmp := TBitmap.Create;
try
jpg.LoadFromFile(FileName); // 从文件加载 JPG 图像
bmp.Width := jpg.Width;
bmp.Height := jpg.Height;
bmp.Canvas.Draw(0, 0, jpg); // 在位图上绘制 JPG 图像
bmp.SaveToFile(ChangeFileExt(FileName, '.bmp')); // 将位图保存为 BMP 格式
finally
bmp.Free;
jpg.Free;
end;
end;
```
以上代码将从文件加载 JPG 图像,创建一个相同尺寸的位图,并在位图上绘制 JPG 图像,最后将位图保存为 BMP 格式。请根据实际需求修改代码。注意,需要在 `uses` 中添加 `JPEG` 单元。
相关问题
delphi 把JPG ,bmp生成透明png
要将 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 格式并保存到文件中。
Delphi BMP JPG去底转换成透明PNG
要将 Delphi 中的 BMP 和 JPG 图像转换为带有透明通道的 PNG 格式,您可以使用 Graphics32 库。Graphics32 是一个免费的开源图形库,它提供了许多处理图像的工具和功能,包括将 BMP 和 JPG 转换为 PNG。
以下是将 BMP 和 JPG 转换为带有透明通道的 PNG 的代码示例:
```
uses
GR32, GR32_PNG, JPEG;
procedure BMPJPGToTransparentPNG(const Filename: string);
var
PNG: TPortableNetworkGraphic32;
BMP32: TBitmap32;
JPG: TJPEGImage;
begin
if FileExists(Filename) then
begin
if (AnsiLowerCase(ExtractFileExt(Filename)) = '.bmp') then
begin
BMP32 := TBitmap32.Create;
try
BMP32.LoadFromFile(Filename);
BMP32.DrawMode := dmBlend;
BMP32.MasterAlpha := $FF; // 设置透明度
BMP32.DrawTo(PNG);
finally
BMP32.Free;
end;
end
else if (AnsiLowerCase(ExtractFileExt(Filename)) = '.jpg') then
begin
JPG := TJPEGImage.Create;
try
JPG.LoadFromFile(Filename);
BMP32 := TBitmap32.Create;
try
BMP32.Assign(JPG);
BMP32.DrawMode := dmBlend;
BMP32.MasterAlpha := $FF; // 设置透明度
BMP32.DrawTo(PNG);
finally
BMP32.Free;
end;
finally
JPG.Free;
end;
end;
PNG.SaveToFile(ChangeFileExt(Filename, '.png'));
PNG.Free;
end;
end;
```
这个例子中,我们使用 TBitmap32 类型将 BMP 和 JPG 转换为带有透明通道的 PNG 格式,并将其保存到文件中。
请注意,BMP 和 JPG 图像本身可能没有透明通道,需要使用 GR32 库来添加透明通道。
阅读全文