JPGStrip, снять всё с .JPG файлов |
Добро пожаловать, гость ( Вход | Регистрация )
JPGStrip, снять всё с .JPG файлов |
-=CHE@TER=- |
Oct 13 2007, 09:50
Сообщение
#21
|
Walter Sullivan Группа: Root Admin Сообщений: 1,360 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 313 раз(а) |
QUOTE Скачать программу: >>>JPGStrip<<< Кто уже читал мой обзор вот тут, наверняка заметил, что я не очень доволен ситуацией сложившейся с JPG стрипперами. Так что я написал свой, что называется, from scratch (с нуля). Вот оно: QUOTE АХТУНГ! Программа на стадии тестирования - так что, на всякий пожарный, делайте резервные копии ваших .JPG файлов! Вас предупредили. Последняя версия лежит на сайте в CTPAX-X Soft. История изменений Предложения по программе (этакий to-do): 1) Не записывать в выходной файл дублирующиеся секции? 2) Оставлять Exif информацию (прога удаляет весь мусор, кроме Exif). Объясню общий алгоритм работы программы. Значит так: JPG файл состоит из блоков, каждый из которых начинается на FF (255). Общая структура, такова: FFD8 FFxxSZ... FFxxSZ... FFDASZ... FFD9 ВСЕ блоки, кроме FFD8 (сигнатура JPEG) и FFD9 (маркер конца файла) имеют поле SZ - размер этой самой структуры (в Big Endian, так что его нужно разворачивать, что и делается). xx - это некий номер, определяющий, что за данные находятся в этом блоке. Алгоритм моей программы тупой как бревно - читаются эти блоки, из них читается байт xx и сравнивается с массивом разрешённых байтов (см. константу JPEGAllowBlocks) - если этого байта там нет - значит это какой-нибудь thumbnail или ещё какая-нибудь хрень, так что мы её пропускаем и не записываем в выходной файл. |
Grom PE |
Oct 14 2007, 00:04
Сообщение
#22
|
Advanced Member Группа: CTPAX-X Сообщений: 84 Регистрация: 7-February 08 Из: i@grompe.org.ru Пользователь №: 3,120 Спасибо сказали: 95 раз(а) |
Сравнение ujpg и JPGStrip:
Я взял 3563 картинки JPG и прошелся по ним ujpg и JPGStrip'ом. Обе программы справились за несколько секунд*, ujpg был немного быстрее. 3560 файлов оказались идентичными, а 3 файла были обработаны по-разному: (1) ujpg достал из картинки thumbnail, JPGStrip оптимизировал правильно. (2) ujpg достал из картинки thumbnail, JPGStrip оставил обрезок, как и в оригинале (картинка была недокачана). (3) обе программы оптимизировали картинку, но ujpg сделал файл меньше (в конце каринки был мусор). * - Честно говоря, меня удивила такая скорость обработки. |
Упрощённая версия | Сейчас: 29th September 2024 - 06:45 |