在Embarcadero C ++ Builder XE5中将.png加载到TImage

时间:2014-04-24 12:54:54

标签: c++ png timage c++builder-xe5

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

2 个答案:

答案 0 :(得分:3)

只需为stdimage.hpp添加一个包含。

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

Image.Picture

(包括Delphi代码和解释以及C ++ Builder,因为#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; } TImage都是Delphi类,因此它是相关的,因为C ++ Builder用户应该非常熟悉通过翻译Delphi代码,因为整个VCL都建立在它上面。而且,由于TPngImage是Delphi VCL组件,Delphi用户可能会发现问题并找到有用的信息。)

TImage

XE5 documentation

中的更多信息

答案 1 :(得分:0)

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

#include <pngimage.hpp>
....
std::auto_ptr<TPngImage> img(new TPngImage());
img->LoadFromFile(...);
Image1->Picture->Assign(img);