我需要加载.png图像,因为我需要它的透明度。这不是在bmp中进行转换的选项,因为我失去了它的透明度。
我怎样才能做到这一点?

最佳答案

只需为stdimage.hpp添加一个include即可。

在设计时,这将使png文件在Image.Picture对话框中可用。在运行时,您可以使用该文件创建并加载TPngImage,并将其分配给Image.Picture

#include <stdimage.hpp>

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  TPngImage* img = new TPngImage();
  img->LoadFromFile("C:\\Images\\calculator.png");
  Image1->Picture->Assign(img);
  delete img;
}

(包括Delphi代码和说明以及C++ Builder,因为TImageTPngImage都是Delphi类,因此是相关的,并且由于C++ Builder用户应该非常熟悉如何在整个VCL上构建Delphi代码,因此很熟悉。由于TImage是Delphi VCL组件,因此Delphi用户可以找到问题并找到有用的信息。)
procedure TForm4.Button1Click(Sender: TObject);
var
  Png: TPngImage;
begin
  Png := TPngImage.Create;
  try
    Png.LoadFromFile('C:\Images\calculator.png');
    Image1.Picture.Assign(Png);
  finally
    Png.Free;
  end;
end;

XE5 documentation中的更多信息

09-16 10:31