[英]Setting Color Type of TPngImage
我正在使用Delphi的TPngImage
类将BMP图像( TBitmap
)转换为PNG,方法是将相应的TBitmap
对象及其中的位图图像分配给新创建的TPngImage
对象。
我需要将颜色类型设置为COLOR_PALETTE
以创建索引RGB PNG。
我没有设法找到可以执行它的TPngImage
类的任何属性。
谁能帮我?
您可以在CreateBlank构造函数中指定颜色类型,而不是简单地刷新PNG图像画布上的位图。 例如:
var
R: TRect;
Bmp: TBitmap;
Png: TPngImage;
begin
Bmp := TBitmap.Create;
try
Bmp.LoadFromFile('C:\Source.bmp');
Png := TPngImage.CreateBlank(COLOR_PALETTE, 8, Bmp.Width, Bmp.Height);
try
R := Rect(0, 0, Bmp.Width, Bmp.Height);
Png.Canvas.CopyRect(R, Bmp.Canvas, R);
Png.SaveToFile('C:\Target.png');
finally
Png.Free;
end;
finally
Bmp.Free;
end;
end;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.