Если не Adobe то кот?
Базовый Gray/RGB TIFF сковал, полез смотреть всякую экзотику, начал, для начала, с grayscale.
ImageMagick в зубы и в таком вот духе:
for bit in 8 9 12 14 16 17 24 29 32; do convert AZ1I2270_gray.tif -depth $bit -define tiff:endian=msb -define quantum:format=signed -define quantum:polarity=min-is-white AZ1I2270_gray${bit}sint_msb_inv.tif ; done
Ну и смотреть, адобом и IrfanView, до других уж извините руки не доходят. Выглядит местами смешно (кликабельно):
Что значит могу сказать из интересного:
- Сначала мне показалось, что IrfanView поддерживает ВСЕ. Но нет, почудилось: он если не может декодировать картинку, то метаданные (имя файла и битность в моем случае) меняет, а картинку оставляет ту же самую на экране.
СЮРПРИЗ (нецензурно). - Signed/unsigned, Intel/Motorola - не влияет, файл или показывается всеми вариантами одинаково, или нет (хотя вот что такое 29 bit signed - я несколько затрудняюсь сказать).
- TIFFTAG_PHOTOMETRIC=0 (MinIsWhite)
- НЕ ПОДДЕРЖИВАЕТ Adobe. Т.е. показывает негатив.
Я, надо сказать, в шоке, потому что TIFF 6.0, вот самый что ни есть Baseline, пишет нам про данный тег в разделе про grayscale (и там стоит копирайт поглощенного Адобом Aldus). - Не поддерживает libtiff:TIFFGetRGBAImage, тоже негатив (тут я задумался, нет ли спецификации новее, чем TIFF6, но вроде нету)
- У IrfanView все ОК..
- НЕ ПОДДЕРЖИВАЕТ Adobe. Т.е. показывает негатив.
- С битностями 8, 12, 16 бит - у обоих испытуемых все хорошо.
- С битностями 9 и 14 бит - у Adobe хорошо, у IrfanView - черный экран.
- Битности выше 16
- Adobe (все битности: 17, 24, 29, 32): файлы декодируются, но показываются слишком светлыми, похоже на двойную гамма-коррекцию, один раз при чтении, второй раз - встроенным профилем.
- IrfanView:
- 17, 29 бит - черный экран
- 24 бита - все нормально
- 32 бита - похоже что принимает за floating point (хотя тега такого нет) и на экране ужас. В метаданных в нижней строчке пишет про 8bpp (что не так, потому что тогда бы развертка съехала)
И это я еще до плавучки не добрался.
P.S. Естественно, я выборочно проверил, что всякие странные варианты (типа 29 бит) обратно тем же ImageMagick/convert конвертируются обратно в 8 бит верно. Что, конечно, ничего не значит.
Comments
Кстати вот тут обещают:
Кстати вот тут обещают:
http://www.libtiff.org/support.html
поддержку негатива, а произвольной битности - не обещают
Ну оно (libtiff) и 8 и 16 бит
Ну оно (libtiff) и 8 и 16 бит тоже нормально не.
так то да, TIFF*RGBA - произвольной битности не умеет.
Кстати, у libtiff удивительно
Кстати, у libtiff удивительно, но работа идёт https://gitlab.com/libtiff/libtiff/commits/master
Ну таки да, они поддержали
Ну таки да, они поддержали BigTIFF в версии 4, уже немало.