2009-06-18 1 views
4

Я создаю штрих-коды «на лету» и внедряю их на веб-страницах. Какой формат следует использовать? Я колеблюсь между JPG и PNG, и я не понимаю преимуществ обоих. Размер имеет значение, как и читаемость (лучше четкий штрих-код, чем размытый). Есть еще один формат, который будет еще лучше?Какой формат изображения следует использовать для штрих-кодов, созданных «на лету»

ответ

13

PNG, или даже GIF. Jpeg сразу, потому что он предназначен для гладких градиентов фотографий, а не для острых краев штрих-кодов. Нарисуйте простой штрих-код вручную в MS Paint, сохраните его, а затем перезагрузите, вы увидите все виды артефактов сжатия.

+2

С двумя цветами (черно-белый), как PNG, так и GIF должны сжиматься очень хорошо. –

+0

И полностью без потерь, тоже! –

+1

Как насчет векторного формата, такого как SVG, чтобы бары и текст масштабировались без искажений или псевдонимов? Особенно, если коды должны быть под углом (упаковка) или выравниванием головки принтера. –

4

PNG должен быть лучше, чем JPG (JPG является убыточным). GIF может быть еще лучше, поскольку изображение будет монохромным (но проверьте его в своем случае).

+0

Я бы не рекомендовал GIF, поскольку он не бесплатный. –

+1

Я считаю, что патент GIF истек в большинстве стран, что делает его достаточно бесплатным. –

+0

@Mark Ransom: Да, в 2001 году я думаю. –

5

Определенно PNG. Это намного лучше при хранении векторной графики, такой как штрих-коды (в отличие от фотографий).

Википедия имеет красивый comparison of JPG vs. PNG.

2

PNG - лучший вариант для PNG и JPG. Основная проблема здесь заключается в сжатии - в изображениях есть две формы методов сжатия, потери и потери. Лоссальные алгоритмы сжатия (например, используемые файлами JPG) «теряют» информацию во время цикла сжатия -> декомпрессии. Из-за этого на вашем изображении будут артефакты. PNG, с другой стороны, использует сжатие без потерь, поэтому отображаемое изображение будет точно таким же, как оригинальные несжатые изображения до первоначальной экономии.

В случае штрих-кодов очень важно точное размещение по черно-белым пикселям (это целая точка), поэтому использование процедуры сжатия с потерями, такой как JPG, может быть очень плохой. Если вы используете 2D-штрих-код, это будет еще хуже, и ваш сканер может очень быстро считывать штрих-код. PNG полностью устранит эту проблему.

1

Я использовал .gif и .png успешно. Мой answer (и другие ответы, если быть честным) до this question имеет более подробную информацию.

1

PNG всякий раз. Это позволит не только избежать артефактов сжатия, которые вы получите с помощью JPG, но и почти наверняка даст лучшее сжатие. JPG очень плохо подходит для изображений с острыми краями.

Смежные вопросы