TImage теряет загруженную картинку - PullRequest
1 голос
/ 12 мая 2010

Запуск Turbo Delphi Pro.

Я использую TImage для отображения PNG-изображения.

Когда я перезагружаю Delphi и загружаю файл dpr, TImage все еще там, но картинка теряется, требуется перезагрузка картинки перед компиляцией.

Сначала я подумал, что это проблема пути, поэтому я загрузил картинку из того же каталога, что и dpr, но это не помогло.

Что еще можно попробовать?

Ответы [ 2 ]

1 голос
/ 17 августа 2010

Я столкнулся с этой проблемой и с D2006. Решение, которое я использовал, похоже на Франсуа.

У меня есть компонент TPngImageCollection, в который я собираю все изображения во время разработки. Вам нужно будет найти модуль PngImageList вне сети. Компонент TPngImageCollection имеет то преимущество, что вы можете иметь коллекцию изображений PNG разных размеров.

Во время выполнения при запуске я присваиваю TImages от каждого из членов коллекции:

Image1.Picture.Assign (ImageCollection.Items [0].PNGImage) ;
Image2.Picture.Assign (ImageCollection.Items [1].PNGImage) ;
Image3.Picture.Assign (ImageCollection.Items [2].PNGImage) ;
etc

Бинго - вы можете создавать свои PNG-оригиналы с альфа-прозрачностью (я использую PhotoPlus 6.0 от Serif - бесплатно и с большими возможностями) и показывать их в виде изображения.

1 голос
/ 12 мая 2010

Попробуйте это:

  • Откройте свой проект и свою форму с PNG.
  • (Re) Загрузить изображение PNG.
  • Сохраните и закройте форму.
  • С помощью текстового редактора загрузите вашу форму DFM
  • Могу поспорить, у вас нет большого двоичного файла в ваш объект TImage , потому что содержимое PNG не был сохранен.

Итог, вам нужно будет включить его в качестве ресурса и динамически загрузить его во время выполнения.

...