Lazarus - загрузка файла формы изображения

У меня проблема с загрузкой изображения из файла z. Изображение имеет расширение .png. Может ли кто-нибудь объяснить мне, почему это больше не работает?

 if (FileExists('file.png')) then
   Image1.Picture.LoadFromFile('file.png');  

Ошибки:

Проект project1 поднял класс исключения «PNGImageException» с сообщением: это не PNG-данные

Проект project1 поднял класс исключения "FPImageException" с сообщением: Неверный формат изображения


person Anewil    schedule 24.02.2016    source источник
comment
Вы должны использовать полный путь к изображению (например, C:\myfolder\file.png). Также попробуйте другой png, чтобы убедиться, что ваш png не является недействительным.   -  person Alexander Baltasar    schedule 25.02.2016


Ответы (1)


Сначала создайте свой компонент изображения:

MyPicture := TImage.Create(FormCanvas);
MyPicture.Name := 'picture';
MyPicture.Parent := FormCanvas;

V1 - использовать прямой путь

Edit_pic_path.Text := 'C:\Images\';
Prop_Picture_Name.Text := 'image.png';

try
     if (FileExists(Edit_pic_path.Text + Prop_Picture_Name.Text)) then
     begin
       MyPicture.Picture.LoadFromFile(Edit_pic_path.Text + Prop_Picture_Name.Text);
     end;
  finally
  end;

V2 - изображение должно находиться в папке проекта

...
MyPicture.Picture.LoadFromFile(Prop_Picture_Name.Text);
...
person A. Kasprzycki    schedule 01.07.2019