| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > работа с несжатым jpeg |
| Автор: jsa 17.7.2006, 18:53 |
| Hi All! как в делфи (D7) можно работать с сабжем, а именно сжатие |
| Автор: DemoCode 17.7.2006, 18:56 |
| У TJPEGImage есть свойство CompressQuality (см. Borland Help) |
| Автор: Alexeis 17.7.2006, 20:08 | ||
Jpeg не бывает несжатым. Если имелось ввиду сжатие без потерь, то это JIFF, Делфи не поддерживает jiff |
| Автор: jsa 18.7.2006, 05:21 | ||||
после этого 1.jpg имеет размер 0 байт |
| Автор: Alexeis 18.7.2006, 09:15 | ||
Если перед тем как сжать распаковать картинку в DIB, то все работает
|
| Автор: jsa 18.7.2006, 11:04 |
| не работает, выдает ошибку JPEG error #53 |
| Автор: Alexeis 18.7.2006, 11:08 |
| jsa, Какая версия Delphi? |
| Автор: jsa 18.7.2006, 11:09 |
| я в первом посте писал Delphi 7 Добавлено @ 11:11 если можно сюда залить картинку размеро 900 кб, я бы залил саму картинку |
| Автор: Alexeis 18.7.2006, 11:14 |
| jsa, Этот модуль в delphi говорят плохой, не все поддерживает. Но свой пример я проверял, я его не по памяти писал, проверил даже степень сжатия - и в правду 100% Добавлено @ 11:16 Есть два варианта 1) Использовать Intel® JPEG Library 2) GDI+ |
| Автор: jsa 18.7.2006, 11:23 |
| alexeis1, у меня это код работает нормально на других картинках, вот только на одной выдается ошибка offtopic: слышал я чето мельком про intel jpeg library, и вроде как acdsee использует эту библиотеку, а он (acdsee) мою картинку нормально отображает, но пишет что Uncopressed Size и Size имеют одинаковый размер, и после конвертации этой картинки снова в jpeg, Size уменьшается в десятки раз, а Uncopressed Size остается такимже, но главное с этой картинкой можно работать нормально Добавлено @ 11:24 есть примеры как использовать IJL? |
| Автор: Alexeis 18.7.2006, 11:28 |
Не я только недавно сам скачал библу, могу попробовать. |
| Автор: Alexeis 18.7.2006, 11:59 | ||
А вот и пример
|
| Автор: jsa 18.7.2006, 17:42 |
| alexeis1, дай урл откуда качал |
| Автор: Girder 18.7.2006, 17:59 |
| вот примерно так... попробуй |
| Автор: Alexeis 18.7.2006, 18:06 |
| Вот мой проект со всеми модулями http://rapidshare.de/files/26181991/12.7z.html |
| Автор: EndDie 17.6.2010, 17:40 | ||||
Господа, доброго времени суток! При использовании SaveTo24bitJPEGFile почему-то происходит сохранение с именем файла "С", если на диск С:\, "D", если на диск D:\ и т.д. JPGFile {:= PChar(FileName);} в watch-е показывает корректный путь. Помогите чем можете! Заранее благодарю. |
| Автор: EndDie 22.6.2010, 16:20 | ||
Вот сама функция:
в @jcprops путь к файлу для сохранения заносится верно, т.е. дело конечно не в к примеру JPGFile := PChar(FileName); Остается грешить на отработку в ijl.dll (в моем случае ijl15.dll - Version: 1.51) ПОМОГИТЕ, плз! |
| Автор: AntonN 22.6.2010, 21:48 |
| может ему в юникоде путь нужен? |
| Автор: EndDie 23.6.2010, 07:25 | ||||
Не уверен, что это так...
При этом замена присвоения JPGFile := PChar(FileName); на (к примеру) JPGFile := PWideChar(FileName); никаких результатов не дает Есть еще идеи? По-прежнему прошу помочь. Если это имеет значение Дельфи - RAD-2009 |
| Автор: EndDie 23.6.2010, 09:25 |
| После прочтения: http://www.transl-gunsmoker.ru/2009/09/pchars.html#mixing А также: http://dl.dropbox.com/u/201788/Unicode_Delphi-RUS.pdf вопрос закрылся следующим образом: procedure SaveTo24bitJPEGFile(Bitmap32: TBitmap32; const FileName: ansistring; Quality: TIJL_Quality = 75; const Progressive_Passes: Boolean = False); Таким образом было достаточно переопределить тип. Вопрос закрыт, всем спасибо. |