我刚刚测试了以下程序,它可以正常工作,没有任何问题。当比较原始PNG和结果BMP时,颜色看起来与我的人眼相同:
procedure ConvertPNGtoBMP(const PNGFileName, BMPFileName: string);
begin
var PNG := TPNGObject.Create;
var BMP := TBitmap.Create;
try
PNG.LoadFromFile(PNGFileName); // Load the PNG image
BMP.Assign(PNG); // Assign the PNG image to the BMP object
BMP.SaveToFile(BMPFileName); // Save the BMP image
finally
PNG.Free;
BMP.Free;
end;
end;
后果
我只是这样称呼它:
ConvertPNGtoBMP('MyPhoto.png', 'MyPhoto.bmp');