![]() |
[Delphi] Интересный момент.
У меня идет подгрузка *.jpg изображений вот таким простым способом.
PHP код:
WayAp - просто Геткурент директории. Но фокус в том что, если мы у файла уберем тип или поменяем на другой то Дельфин не понимает с каким форматом он работает))) то есть он пляшет от раширения файла, а не от его заголовка. Лезти в код и менять непосредственно там желания нету. Может быть есть какой то альтернативный способ загрузки файла с измененным расширением, ну допустим мы с jpg его поменяем на mov или вообще уберем!!! Исходные коды приветствуются. За рабочий код не пожалею + плюсиков. |
есть конечно
uses jpeg; // Imbut = Image1(TImage) var Img: TJpegImage; begin Img:=TJpegImage.Create; Img.LoadFromFile('путь к файлу'); Image1.Picture.Assign(Img); Img.Free; end; |
Цитата:
flacs код конечно рабочий, но идет выделение памяти в дополнительную ветку))) Держите заслуженные +5)) У кого есть более элегантный вариант? |
Помоему лучше не придумать. Это самый оптимальный вариант.
|
2 Flame of Soul Дай отгадаю. У тебя стоит BDS наверное. И ты наверное уже не помнишь (или еще незнаеш) что ранее такое не прокатывало т.е. в Delphi 7 LoadFromFile позволяет загружать тока bmp картинки. И для того чтобы работать с jpg то приходилось юзать модуль jpeg. А в последующих делфях это было изменено т.е. работа с этим модулем или его аналогом уже была встроен в сам класс TImage. Так что при использовании jpeg модуля ты особо ничего не потеряеш.
В D7 сразу можно увидеть поддерживаемые форматы Код:
Add('wmf', SVMetafiles, 0, TMetafile);TPicture.Create -> GetFileFormats -> TFileFormatsList.Create -> заполнение сопоставления расширения и типа файла. Эта инфа хранится в переменной FileFormats но она является локальной для Graphics.pas так что тебе или делать её глобальной и методами add / remove добавлять сопоставления или создать свой класс на основе TPicture где это будот встроенно |
slesh - я просто хочу посмотреть кто придумает самый экстровагантный способ, кто не заленится и напишет такое для данного решения, чтобы мурашки по коже пошли)))). Просто хотела найти таланты у которых есть свободное время, а тут таких уже и не видно(( а жаль.
Цитата:
|
можно деассембнуть компонент и пофиксить ручками, жаль у меня его нет - я б сделал
|
файлик переименовать?
|
Цитата:
|
ТС тему надо переименовать в "Алло! Мы ищем таланты!"
P.S: А конкретно неординарных личностей, имеющих гениальные решения. |
| Время: 02:23 |