Проблема с показом некоторых файлов JPG в Delphi

Обычно это сделано с помощью Шаблона "фабрика"

public interface IXMLizableFactory<T extends IXMLizable> {
  public T newInstanceFromXML(Element e);
}

public interface IXMLizable {
  public Element toXMLElement();
}
7
задан Isaac 24 August 2009 в 21:34
поделиться

6 ответов

Причина, по которой вы можете столкнуться с этой проблемой, связана с типом файла. У Delphi есть проблемы с отображением изображений JPEG, которые были закодированы с использованием CMYK, а не кодировки RGB по умолчанию. CMYK - это формат, который обычно используется для дизайна печати, старайтесь всегда кодировать изображения в формат RGB, чтобы избежать этой проблемы с Delphi.

Патч для Delphi jpeg.dcu

Пока.

12
ответ дан 6 December 2019 в 07:51
поделиться

Интересно. Ни Internet Explorer , ни Google Chrome не будут отображать это изображение JPEG, на которое вы ссылаетесь. Я не получаю ошибок 404 Not Found , я просто получаю заполнитель изображения, указывающий на то, что изображение не может быть открыто / отображено правильно.

FireFox отображает изображение . 1289] Вы уверены, что в задействованных файлах JPG нет ничего подозрительного или хотя бы немного необычного?

ОБНОВЛЕНИЕ: Файл, на который ссылается вопрос, открывается в PaintShop Pro ( установка старой версии 6.0) - если я просто повторно сохраню как JPEG со стандартной кодировкой, IE и Chrome будут отображать только что сохраненное изображение, как я ожидал. Определенно может показаться что-то немного странное. о кодировке исходного JPEG, которую могут обрабатывать некоторые приложения JPEG, но не все, включая некоторых «основных игроков», а не только Delphi. :)

6
ответ дан 6 December 2019 в 07:51
поделиться

Проверьте библиотеку бесплатных изображений для альтернативной поддержки JPEG в Delphi, если у родной есть проблемы. Free Image - это библиотека с открытым исходным кодом, которая позволяет вам работать с JPEG / PNG / ... из Delphi / BCB / и других. Очень хорошая библиотека IMHO.

http://freeimage.sourceforge.net/

2
ответ дан 6 December 2019 в 07:51
поделиться

Я просмотрел файл с помощью шестнадцатеричного редактора и обнаружил 3 заголовка JFIF. После извлечения каждой части я нашел 2 эскиза и изображение. Ничего особенного, потому что встроенные миниатюры кажутся частью стандарта EXIF2 .

Сами миниатюры загружаются в Delphi нормально, и преобразование файла во что-то читаемое может быть выполнено практически с любым программным обеспечением, которое я Я пробовал.

В любом случае, эта страница предоставит вам очень подробную информацию об изображении и о том, какие заголовки находятся внутри (просто вставьте URL-адрес вашего изображения в текстовое поле):

http: //www.monster- submit.com/resources/jpeganalyzer/

2
ответ дан 6 December 2019 в 07:51
поделиться

Я получаю ту же ошибку. Похоже, это ошибка в библиотеке Delphi JPEG. Вы должны сообщить об этом в QC.

1
ответ дан 6 December 2019 в 07:51
поделиться

SimDesign NativeJpg может открыть этот файл. Это библиотека JPEG, полностью написанная на Delphi, и автор хорошо добавил поддержку новых расширений и цветовых пространств, когда мы с ними столкнулись. В дополнение к потомку TGraphic для поддержки TImage он предоставляет множество низкоуровневых интерфейсов для управления файлами JPEG, хотя я их не использовал.

0
ответ дан 6 December 2019 в 07:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: