Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2013, 16:46   #1
arhiepiskop
Пользователь
 
Аватар для arhiepiskop
 
Регистрация: 26.11.2009
Сообщений: 19
По умолчанию Неудается открыть сохраненный .jpg (error #53)

Приложение открывает изображение (.bmp или .jpg), и пользователь можетт инвертировать картинку (в TImage) или поворачивать. При сохранении все проходит успешно, и файл появляется в папке и успешно открывается любой программой, а вот моей же - нет, пишет 'JPEG error #53'.

Вот листинг:

Код:
 


procedure TForm1.Button3Click(Sender: TObject); //открытие файла
var w,h:integer;
begin
if openpicturedialog1.Execute then Begin
If  (OpenPictureDialog1.FileName[length(OpenPictureDialog1.FileName)]='g')
 then  Begin
JPEGtoBMP(OpenPictureDialog1.FileName);
image1.Picture.Assign(bm);
end
else
image1.Picture.LoadFromFile( OpenPictureDialog1.FileName);

end;
cor;
bm.Free;
end;

procedure TForm1.JPEGtoBMP(const FileName: TFileName);
var
  jpeg: TJPEGImage;
begin
jpeg := TJPEGImage.Create;
jpeg.CompressionQuality := 100;
jpeg.LoadFromFile(FileName);
bm := tbitmap.create;
bm.Assign(jpeg);
jpeg.Free;
end;



procedure TForm1.Button7Click(Sender: TObject);// Сохранение файла
begin
If SaveDialog1.Execute then
image1.Picture.SaveToFile(SaveDialog1.FileName+'.jpg');
end;

end.
Я так понимаю дело в неправильном сохранении? но как по другому? Пробовал через SavePictureDialog - тоже самое пишет...
arhiepiskop вне форума Ответить с цитированием
Старый 17.04.2013, 18:11   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Надо полагать от того, что задано расширение jpg, картинка ни коим образом не имеет jpeg-формата, а всего лишь обычный bmp-формат. Для сохранения в jpeg-формате обратный процесс на TJPEGImage и сохранение с него

И bm.Free; - а если открывался bmp? И по хорошему объект создать и удалить должна вызывающая процедура
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GetEncoderClsid: сохраненный JPG-файл - 0-го размера malor Visual C++ 3 18.04.2016 18:19
Перемещая папки с экзел файлом и jpg картинками, ссылки на jpg не работают?? Igorilla Microsoft Office Excel 0 16.03.2013 21:36
Неудается найти файл TStringlist true1 Общие вопросы Delphi 22 25.07.2012 18:50
fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory Нездешний Общие вопросы C/C++ 6 06.12.2009 18:58