Мне нужно загрузить изображение .png, потому что мне нужна его прозрачность. Это не вариант конвертировать, например, в BMP, потому что я теряю его прозрачность.
Как я могу это сделать?
Просто добавьте включение для 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, потому что TImage
а также TPngImage
оба являются классами 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
В C ++ Builder код может выглядеть так:
#include <pngimage.hpp>
....
std::auto_ptr<TPngImage> img(new TPngImage());
img->LoadFromFile(...);
Image1->Picture->Assign(img);