3

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

4

2 回答 2

3

只需为stdimage.hpp.

在设计时,这将使 .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 用户应该非常熟悉翻译 Delphi 代码,因为整个 VCL 都建立在它之上。此外,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 文档中的更多信息

于 2014-04-24T13:20:31.363 回答
2

在 C++ Builder 中,代码可能如下所示:

#include <pngimage.hpp>
....
std::auto_ptr<TPngImage> img(new TPngImage());
img->LoadFromFile(...);
Image1->Picture->Assign(img);
于 2014-04-24T14:54:29.060 回答