![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли программно определить "испорчен" ли JPG файл или нет? [D7, WinXP]
Hmm © (2005-01-14 12:55:00)Здраствуйте.
Возник вопрос, можно ли программно определить "испорчен" ли JPG файл или нет? Какие особенности (размер, что-то еще) могут на это указывать?
Дело в том, что в результате нехитрых манипуляций с винтом получил много мегабайт картинок, треть которых испорчена, т.е. либо не грузиться совсем выдавая ошибку, либо грузиться, но в ужасном качестве (непонятные линии, цвета и т.д.).
Т.о. в ручную перебирать все это - жуткая вешь.
Спасибо за внимание.
Neznaika (2005-01-17 16:47:00) [1]Поймал Thank You
Hmm (2005-01-17 16:23:00) [2]Получил. Спасибо.
Ega23 (2005-01-17 16:17:00) [3]Ловите оба!
Hmm (2005-01-17 16:02:00) [4]asm.hmm@mail.ru
Neznaika (2005-01-17 15:51:00) [5]Если не лень то пришли и мне, тоже интересно!
Ega23 (2005-01-17 15:49:00) [6]и вообще про формат Jpeg как таковой, можно почитать?
адрес свой давай. пришлю архивчик, там всё доступно расписано.
Hmm (2005-01-17 15:46:00) [7]2 All
Сильно облегчите задачу, если скажите где про это:
> Становится очевидным, что ты сам должен файл открывать,
> разбирать заголовок, начало блоков, производить декодирование,
> обратное косинусное преобразование и т.д.
и про это:
> декодер JPEG, отличный от Борландовского.
> За одно и с алгоритмом Хаффмана разберёшься.
и вообще про формат Jpeg как таковой, можно почитать?
Ega23 (2005-01-17 15:01:00) [8]2 Hmm © (17.01.05 11:30) [7]
Пиши собственный декодер JPEG, отличный от Борландовского. За одно и с алгоритмом Хаффмана разберёшься.
Я когда-то очень давно так с tiff'ом поступил.
Amoeba (2005-01-17 14:58:00) [9]IMHO решение задачи программным путем будет (если это вообще возможно) потребует не на один порядок больше времени, чем отбраковка вручную.
Neznaika (2005-01-17 11:42:00) [10]>>Hmm © (17.01.05 11:30) [7]
Да я то Вас тоже понял - я утрирую.
Но по моему единственный вариант обнаружить в картинке нарушения цветобаланса - это сравнение с нормальной такой же картинкой.
Я могу ошибаться (надеюсь так оно и есть т.к. я бы тоже взглянул на такой исходник с удовольствием).
Анонимщик (2005-01-17 11:39:00) [11]Становится очевидным, что ты сам должен файл открывать, разбирать заголовок, начало блоков, производить декодирование, обратное косинусное преобразование и т.д. Либо найти библиотеку, которая предназначена для восстановления файлов нужных тебе форматов. Формат jpeg'а несекретный, в интеренете найдешь. Только станешь ли этим всем заниматься?
Hmm (2005-01-17 11:30:00) [12]2 Neznaika
Ну суть я вроде бы описал в самом вопросе Hmm © (14.01.05 12:55)
> пририсовал Вам усы
Возможно такой битыйфайл и воспринимается как перерисованный (компУтеру ведь не важно, что вместо голубого неба я получаю оранжевое, к примеру). Тогда видимо проблемма не разрешима.
Я лишь сделал предположение о возможности обнаружить "усы".
Собтвенно, вроде бы Smithson (14.01.05 13:14) [3] меня понял.
Остается вопрос каким образом открыть такойфайл, чтобы вызвать исключение?
PS: Если конечно это всетаки возможно.
Neznaika (2005-01-17 11:03:00) [13]Смутно себе представляю...
Это что прога должна анализировать все цвета и линии на картинке и если что-то не так говорить Вам этом. апример это Ваша фотография, и если кто-то пририсовал Вам усы программа должна проигнорировать фотку, так?
Hmm (2005-01-17 10:55:00) [14]Снова здраствуйте.
Дошли, наконец руки до этого дела и сразу появились вопросы.
Все ж таки я не смог при использовании TJpegImage добиться реакции отличной от TImage. Открываю полностьюубитый файл, в обоих случаях генерируется одинаковое исключение.
Но суть даже не в этом. TJpegImage также не выдает никаких исключений при попытке открыть картинки в
> ужасном качестве (непонятные линии, цвета и т.д.).
Вообще возможно ли на этапе открытия проанализировать состояние изображения (кроме как визуально)?
Hmm (2005-01-14 14:24:00) [15]
> TJPEGImage
Спасибо.
Smithson (2005-01-14 13:14:00) [16]При открытии jpeg стандартный TJPEGImage генерит исключение, если структура файла повреждена (как раз те самые жуткие художества). Ловить его и смотреть, что там случилось.
Hmm (2005-01-14 13:09:00) [17]Да, это наверняка сработает с теми картинками, которые убиты насовсем (есть и такие).
Но вот как быть с теми, которые нормально открываются, но выдают жуткие вещи, вместо изобразительного искусства?
Neznaika (2005-01-14 12:59:00) [18]Попробовать открыть (IMHO) если не откроется then Showmessage('Гафно-картинка'). Опять-же IMHO.