Проблема с отображением некоторых файлов JPG в Delphi
Я попытался открыть некоторые файлы JPEG в Delphi с компонентом TImage. я также добавил блок Jpeg. я могу открыть большинство файлов jpg, и нет проблем.
но когда я пытаюсь открыть некоторые JPGs, программа просто выдает исключение.
Я также попытался загрузить эти изображения в режиме дизайна, но есть некоторые проблемы. в режиме проектирования исключением является:
нарушение доступа по адресу 402672A1 в модуле ' vcljpeg70.АПЛ. Написать адрес 08E84000
Почему я не могу открыть этот JPGs? они не испорчены. я проверил их в некоторых инструментах, таких как savantools EXIF viewer.
вот URL одного из этих изображений: http://xs842.xs.to/xs842/09340/backpic435.jpg
спасибо
PS: Моя версия Delphi-7. Borland Delphi 7
6 ответов
причина может быть эта проблема из-за типа файла. Delphi имеет проблемы с отображением изображений JPEG, которые были закодированы с помощью CMYK, а не кодировки RGB по умолчанию. CMYK-это формат, который обычно используется для печати, попробуйте и всегда кодируйте изображения в формате RGB, чтобы избежать этой проблемы с Delphi.
патч для Delphi jpeg.dcu
тю.
интересные. Ни Internet Explorer, ни Google Chrome отобразит изображение JPEG, с которым вы связаны. Я не понимаю 404 Не Найдена ошибки, я просто получаю заполнитель изображения, указывающий, что изображение не может быть открыто/отображено правильно.
FireFox тут показать изображение.
вы уверены, что нет ничего подозрительного или, по крайней мере, немного необычного в файлах JPG вовлечены?
обновление: файл успешно открывается вопрос PaintShop Pro (старая версия 6.0 установка) - если я тогда просто повторно сохранить как стандартную кодировку JPEG,IE и Chrome оба отображают недавно сохраненное изображение, как я и ожидал. Там определенно будет что-то немного "нечетное" о кодировке исходного JPEG, что некоторые приложения JPEG могут обрабатывать, но не все, включая некоторых "основных игроков", а не только Дельфи. :)
Проверьте бесплатную библиотеку изображений для альтернативной поддержки JPEG в Delphi, если у родного есть проблемы. Free Image-это lib с открытым исходным кодом, который позволяет работать с JPEG/PNG/... из Delphi / BCB / и других. Очень хорошая библиотека ИМХО.
Я просмотрел файл с шестнадцатеричным редактором и нашел 3 заголовка JFIF. После извлечения каждой части, я нашел 2 миниатюры и изображения. Ничего особенного, потому что встроенные эскизы, похоже, являются частью стандарта EXIF2.
миниатюры сами загружаются в Delphi, и преобразование файла в что-то читаемое можно сделать почти с каждой частью программного обеспечения, которое я пробовал.
в любом случае, эта страница даст вам очень подробную информацию о изображение и какие заголовки находятся внутри (просто вставьте url вашего изображения в текстовое поле):
SimDesign это NativeJpg может открыть этот файл. Это библиотека JPEG, написанная полностью на Delphi, и автор был хорош в добавлении поддержки новых расширений и цветовых пространств, когда мы столкнулись с ними. В дополнение к tgraphic потомку для поддержки TImage он предоставляет множество интерфейсов нижнего уровня для управления jpeg, хотя я их не использовал.