如何完全禁用给定PNGObject
的透明度?顺便说一下,我正在使用1.564版的PNGImage单元。
最佳答案
我认为不可能永久禁用TPNGObject
图像透明度。或者至少我找不到执行此操作的属性。并且它应该已经由属性控制,因为当您分配或加载图像时,TPNGObject
从分配的图像文件中获取图像参数(包括透明度)。
因此,作为一种解决方法,我宁愿在加载或分配图像后使用RemoveTransparency
过程:
uses
PNGImage;
procedure TForm1.Button1Click(Sender: TObject);
var
PNGObject: TPNGObject;
begin
PNGObject := TPNGObject.Create;
try
PNGObject.LoadFromFile('C:\Image.png');
PNGObject.RemoveTransparency;
PNGObject.Draw(Canvas, Rect(0, 0, PNGObject.Width, PNGObject.Height));
finally
PNGObject.Free;
end;
end;