Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.19;
Скачать: CL | DM;

Вниз

Загрузка фото в формате JPG в компонент Image.   Найти похожие ветки 

 
Сергей Нечепуренко   (2002-09-06 11:30) [0]

Как программно загрузить в компонент Image изображение в формате JPG ?
Делаю это командой
Image1.Picture.LoadFromFile("c:\photo.jpg");
Выдается сообщение об ошибке
‘Unknkown picture file extension (.jpg)’
Причем если программно загружать bmp файл, то все нормально.
Заранее благодарю, Сергей.


 
Kaban ©   (2002-09-06 11:41) [1]

Включи в uses стандартный модуль JPEG


 
ЮЮ ©   (2002-09-06 11:43) [2]

A если добавить RxGif (при установленном RxLib) то и GIF-ы читать будет :-)


 
BOA_KAA ©   (2002-09-06 11:43) [3]

uses JPEG;

procedure TfmMain.FormCreate(Sender: TObject);
var
bmp: TBitmap;
jpg: TJPEGImage;
begin
if not OpenPictureDialog1.Execute then Exit;
jpg:=TJPEGImage.Create;
bmp:=TBitmap.Create;
jpg.LoadFromFile(OpenPictureDialog1.FileName);
bmp.Assign(jpg);
Image1.Picture.Assign(bmp);
jpg.Free;
bmp.Free;
end;


 
Kaban ©   (2002-09-06 11:46) [4]

2 BOA_KAA

Круто, но по-моему
Image1.Picture.LoadFromFile("c:\photo.jpg");
гораздо проще


 
BOA_KAA ©   (2002-09-06 11:48) [5]

2Kaban © (06.09.02 11:46)

Ща попробую...


 
BOA_KAA ©   (2002-09-06 11:50) [6]

2Kaban © (06.09.02 11:46)

Не, не фига, так не прокатывает даже при включенном JPEG"е


 
Kaban ©   (2002-09-06 11:54) [7]

да что вы говорите, а у меня почему-то все работает


 
Smithson ©   (2002-09-06 11:56) [8]

Там есть масса глюков. Вариант от BOA_KAA действительно лучше, чем просто LOadFrom..., но место jpg.LoadFromFile надо загнать в try except и уже по итогам решать, прочелся имадж или нет.
Дело в том, что при загрузке файла JPG.LoadFromFile дает ошибки по неким своим соображениям (не совпадение версий, неизвестный тег, нарушена целостность файла ...) но при этом файл ВСЕ РАВНО ГРУЗИТ.
Так что ошибки изолируй и работай.


 
BOA_KAA ©   (2002-09-06 12:02) [9]

2Smithson © (06.09.02 11:56)

Точно, просто я не стал добавлять это дело в код... Будет несколько правильнее, ежели так:

uses JPEG;

procedure TfmMain.FormCreate(Sender: TObject);
var
bmp: TBitmap;
jpg: TJPEGImage;
begin
if not OpenPictureDialog1.Execute then Exit;

try
jpg:=TJPEGImage.Create;
bmp:=TBitmap.Create;
jpg.LoadFromFile(OpenPictureDialog1.FileName);
bmp.Assign(jpg);
Image1.Picture.Assign(bmp);
finally
jpg.Free;
bmp.Free;
end;
end;


 
Smithson ©   (2002-09-06 12:07) [10]

Неа. Так у тебя не все файлы пойлут... Я делал примерно так:

var
bmp: TBitmap;
jpg: TJPEGImage;
begin
if not OpenPictureDialog1.Execute then Exit;

try
jpg:=TJPEGImage.Create;
bmp:=TBitmap.Create;
try
jpg.LoadFromFile(OpenPictureDialog1.FileName);
except
// А нафиг нам его ошибки?
end;
bmp.Assign(jpg);
Image1.Picture.Assign(bmp);
except
// А вот тут уже что-то не то, файл не прочитался, надо делать выводы
end;
jpg.Free;
bmp.Free;


 
Kaban ©   (2002-09-06 12:08) [11]

Да но в вашем случае при возникновении ошибки на этапе
JPG.LoadFromFile
в Image ничего не загрузится, т.к. управление сразу перейдет к блоку finally


 
Kaban ©   (2002-09-06 12:09) [12]

2 Smithson © (06.09.02 12:07)
Вот такой код действительно корректен


 
BOA_KAA ©   (2002-09-06 12:30) [13]

2Smithson © (06.09.02 12:07) & Kaban © (06.09.02 12:08)

... сдался:-)))))



Страницы: 1 вся ветка

Текущий архив: 2002.09.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
1-61092
elgato
2002-09-09 21:09
2002.09.19
StringGrid


1-61117
Dimedrol
2002-09-10 11:23
2002.09.19
Фокус на RadioGroup


6-61233
Чайник!!!!!!!!!!!
2002-06-11 00:33
2002.09.19
помогите с NMFTP компонентом


14-61294
kull
2002-08-23 15:43
2002.09.19
Посоветуйте хороший бесплатный XML редактор...


14-61317
Esu
2002-08-22 14:40
2002.09.19
О наболевшем