delphi - 如何禁用 PNG 的透明度

标签 delphi png transparency delphi-7

如何完全禁用给定 PNGObject 的透明度?顺便说一句,我使用的是版本 1.564 的 PNGImage 单元。

最佳答案

我认为不可能永久禁用 TPNGObject 图像透明度。或者至少我找不到这样做的属性(property)。它应该由属性控制,因为当您分配或加载图像时,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;

关于delphi - 如何禁用 PNG 的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10975372/

相关文章:

css - 如何使 WebGL Canvas 透明

delphi - Delphi中获取本地IP地址

python - Matplotlib 保存为 pdf 未在条形图中显示阴影线 - 潜在错误?

r - 如何提高ggplot2对象的保存效率?

iphone - 为通用应用程序压缩图像

css - 您可以使用 CSS 向 PNG 内容添加非方形阴影吗?

node.js - 如何使用 NodeJS 和 GraphicsMagick 剪切图像的透明部分

delphi - 如何在 Mac 上的 Lazarus 中执行与 shellexecute() 等效的操作?

sql - 对 ADO 参数使用 ParseSQL 命令导致参数数据类型无效

delphi - 在Delphi XE4中突出显示变量和函数名称