Я имею дело с множеством изображений TIFF, особенно с 1-битным сжатием Group 4. Большинство этих изображений имеют размер Letter и Legal, отсканированные с разрешением от 200 до 300 точек на дюйм, что является довольно стандартным для деловых документов.
Конечно, TIFF не является стандартным форматом изображений для веб-браузеров, поэтому отображение этих изображений в Интернете было проблемой (помните Java <applet>
? тьфу!). По моим наблюдениям, PNG на 50% больше, а до того, как PNG получили широкую поддержку, был GIF, более чем в два раза больше. Вы можете увидеть разные размеры, созданные с помощью ImageMagick convert
:
$ ls -l total 2056 -rw-r--r-- 1 thad staff 130262 May 6 15:16 kofax.gif -rw-r--r-- 1 thad staff 772436 May 6 15:46 kofax.jpg -rw-r--r-- 1 thad staff 87036 May 6 15:12 kofax.png -rw-r--r-- 1 thad staff 57222 Apr 30 17:59 kofax.tif
Я был счастлив наткнуться на tiff.js, порт LibTIFF, созданный путем компиляции кода LibTIFF C с помощью Emscripten. (Для меня это решение - не что иное, как гениальность и / или волшебство).
Теперь для отображения изображения. При первом просмотре я хочу уменьшить изображение, чтобы оно поместилось в окне браузера. Однако использование HTML5 Canvas дало мне неровное изображение. Твиттер спешит на помощь! Майлз Элам (@mileselam) объяснил, что я должен увеличить размер моего <canvas>
и уменьшить его отображение с помощью настроек стиля. Результатом является плавное представление моего изображения TIFF (показано выше с размером 30%).
Исходный код этой демонстрации можно найти на GitHub.