imagemagick convert: предупреждения tiff/создано несколько выходных файлов

Я работаю над java-приложением, которое использует утилиту преобразования ImageMagick для преобразования tiff в jpg.

Наш рабочий процесс состоит в том, чтобы сначала сделать tiff->jpg; создайте буферизованный img obj, чтобы получить размеры, затем масштабируйте новые размеры и снова запустите convert, чтобы изменить размер с новыми размерами и несколькими другими параметрами.

В большинстве случаев это работает хорошо, но в некоторых случаях я получаю предупреждения в формате tiff, и, хотя преобразование img в конечном итоге проходит успешно, convert создает пару промежуточных изображений, которые вызывают проблемы. Вот как это выглядит в командной строке:

>convert testImg.tif test.jpg
convert.exe: Unknown field with tag 317 (0x13d) encountered. `TIFFReadDirectory @ warning/tiff.c/TIFFWarnings/824.
convert.exe: Unknown field with tag 34391 (0x8657) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/824.
convert.exe: Unknown field with tag 34392 (0x8658) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/824.
convert.exe: testImg.tif: Null count for "Tag 34391" (type 1, writecount -3, pascount 1). `_TIFFVSetField' @ error/tiff.c/TIFFErrors/562.
convert.exe: Unknown field with tag 317 (0x13d) encountered. `TIFFReadDirectory @ warning/tiff.c/TIFFWarnings/824.

когда начинаешь с

testImg.tif

выходы

test-0.jpg
test-1.jpg

наш обходной путь состоит в том, чтобы сделать первое преобразование tif->gif, а затем gif->jpg, и это, кажется, исправит это, но мне интересно, сталкивался ли кто-нибудь с этой конкретной проблемой.

Кроме того, мы используем утилиту convert, потому что обнаружили, что JMagick очень ненадежен. Если кто-то успешно использовал это, было бы интересно услышать любые идеи о том, как сообщить.

Благодарность! бп


person badperson    schedule 23.04.2013    source источник


Ответы (1)


Я вообще не эксперт по Java, но столкнулся с проблемой нескольких изображений с помощью imagemagick. Это связано с файлами tiff, содержащими слои. imagemagick выведет каждый слой в формате tiff. Чтобы получить определенный слой и только 1...

преобразовать изображение.tif[0] изображение.jpg

Теперь это может сказаться на качестве. Вы можете преобразовать оба и для каждого созданного слоя объединить их 0-первая 1 секунда. Из того, что я обнаружил, это то, что слои после первого имеют меньшее разрешение.

person JSG    schedule 29.10.2013
comment
это не имеет ничего общего с java, это инструмент преобразования, я работаю в Linux, и мне также интересно, почему convert 1.tif 1.png создает несколько файлов. Я думаю, что tiff имеет несколько слоев или около того. - person H.Molnar; 16.05.2019
comment
H. Файлы tiff по какой-то причине представляют собой 1 изображение, состоящее из нескольких слоев. Вот почему я говорил, что при обращении было бы разумно объединить их все. Я подозреваю, что есть причина, по которой имеющиеся у меня тиффы (из фотошопа) содержали слои разного качества. Предполагается, что это то, как браузеры, возможно, читают и загружают изображение. Загрузка по 1 слою за раз?... Если это так, ответ может быть в документации tiff. - person JSG; 21.07.2019
comment
Для zsh пользователей: [0] интерпретируется оболочкой. Мне не удалось избежать этого во всех случаях - если у вас возникнут проблемы, выполните команду в оболочке bash. - person fabian789; 09.01.2020