При загрузке файлов изображений в Википедию или, что предпочтительнее, в Wikimedia Commons важно использовать правильный формат файла для контента. Не пытайтесь сэкономить дисковое пространство на сервере изображений, отказываясь от полезной информации.
Сохраните источник:
Существует 4 основных варианта форматов файлов изображений :
Хотя некоторые форматы предлагают несколько систем сжатия, в целом формат и система сжатия связаны между собой.
В большинстве случаев следует избегать использования других форматов изображений :
Редактируемость и масштабируемость SVG (масштабируемая векторная графика) делают этот формат очевидным выбором для графического представления данных и иллюстраций. Однако не всегда легко преобразовать растровые изображения, такие как GIF, PNG или JPEG, в SVG, а некоторые изображения (особенно фотографии) не подходят для такой обработки. Если диаграмму невозможно создать в SVG, то изображение PNG предпочтительнее, чем JPEG.
Алгоритм сжатия PNG предназначен для работы с большими областями сплошного цвета с четкими границами. Поэтому это хороший формат для диаграмм и мультфильмов. Но он не дает вам автоматически наименьший возможный размер файла. Есть некоторые вещи, которые нужно делать вручную.
Среди многих веб-дизайнеров бытует заблуждение, что PNG больше GIF . Это заблуждение основано на двух фактах:
Соответствует ли количество бит на пиксель количеству цветов в изображении? Диаграммы обычно имеют мало цветов. Если диаграмма имеет 4 цвета, нет необходимости хранить ее в 24-битном ( truecolour ) формате, способном различать 16 миллионов цветов. Версии PNG с меньшей глубиной цвета хранят цвета в палитре . Палитрованные изображения могут иметь глубину цвета 1, 2, 4 или 8 бит (2, 4, 16 или 256 цветов). Используйте самую низкую глубину цвета, которая может обрабатывать все цвета в вашем изображении, хотя некоторые программы редактирования изображений не могут создавать 2-битные цветные изображения.
Если вы конвертируете изображение с большим количеством цветов (возможно, потому что кто-то сохранил оригинал как JPEG, избегайте этого) в PNG, вы можете захотеть одновременно уменьшить количество цветов; см. Википедию: Как уменьшить количество цветов для сохранения JPEG как PNG .
Сглаженное изображение может использовать больше цветов, чем вы заметили, поскольку сглаживание сглаживает неровные края, добавляя оттенки серого там, где раньше был черный или белый. Сглаженные черно-белые изображения обычно нужно сохранять как 16-цветные или 256-цветные изображения. Смотрите иллюстрацию справа.
Справа — пример файла, сохраненного в формате JPEG , хотя его следовало бы сохранить в формате PNG. JPEG использует сжатие данных с потерями, предназначенное для фотографий. Сжатие чертежей или диаграмм с помощью JPEG приводит к получению изображения низкого качества, поскольку человеческий глаз может заметить артефакты сжатия по краям.
Другим недостатком является большой размер файла, который вы получите в итоге. Сжатие JPEG имеет много вариантов, но чаще всего только два цветовых пространства: 24-битный RGB (8 бит на образец) и 8-битная шкала серого. Самое главное, что JPEG по своей природе не может поддерживать индексированный цвет. В примере справа 4-цветное изображение раздувается с помощью неподходящей цветовой схемы, что приводит к довольно большому размеру файла.
Если у вас нет исходного файла, а есть только JPEG, который на самом деле должен быть PNG, не сохраняйте JPEG просто как PNG, потому что это приведет к еще большему размеру файла. Есть хорошее руководство на Википедии: Как уменьшить цвета для сохранения JPEG как PNG .
PNG — это растровый графический формат, кодирующий значение каждого отдельного пикселя , в то время как SVG — это векторный графический формат, кодирующий изображение как ряд геометрических фигур. Если это вас смущает, не волнуйтесь; вам не нужно понимать технические аспекты для создания или загрузки изображений. На практике это означает, что изображение SVG масштабируется до разных размеров гораздо лучше, чем эквивалентное PNG. Поэтому для изображений, которые в основном или полностью состоят из многоугольников, линий и кривых (государственные флаги, дорожные знаки и т. д.), предпочтительным форматом является SVG. Здесь показаны два примера увеличенных обрезков изображения: одно в формате PNG, другое в формате SVG, показывающее более высокое качество.
SVG можно легко создавать с помощью многих программ для настольных издательских систем , таких как бесплатная программа Scribus . SVG также можно изменять с помощью простого текстового редактора , поскольку он основан на коде, а не на числах. Это значительно упрощает обновление и перевод иллюстраций. Пользователи, у которых возникли проблемы с загруженными изображениями SVG, могут обратиться за помощью на Wikipedia:SVG Help . Список программного обеспечения для редактирования SVG см. в разделе Список векторных графических редакторов .
Как указано выше, JPEG (Joint Photographic Experts Group) был разработан с учетом фотографических изображений. Хотя алгоритмы JPEG довольно хороши, есть пара советов, которые помогут получить наименьший возможный размер файла без ущерба качеству:
jpegtran -optimize
. Это приводит к меньшему размеру файла, но сжатие происходит медленнее. Jpegtran является частью libjpeg . Пакет littleutils содержит скрипт opt-jpg
, который автоматизирует оптимизацию JPEG, используя jpegtran
в качестве базового движка.Изображения, не являющиеся фотографиями, например, диаграммы и снимки экрана приложений или старых видеоигр, используют мало цветов. Если это имеет смысл, сохраните изображение в индексированном режиме. Truecolour PNG часто можно преобразовать в индексированный режим, не меняя вид изображения, при этом экономя размер файла. (См. раздел «Глубина цвета» для получения информации об индексированном режиме и truecolour.)
Нормально, когда программы редактирования изображений производят плохое сжатие PNG, даже если они работают с максимальными вариантами сжатия. В результате, существует множество инструментов для сжатия PNG без потери качества. Однако, если изображение будет масштабироваться Mediawiki перед просмотром, то эти шаги бессмысленны. Некоторые такие инструменты и информация об их использовании показаны ниже.
OptiPNG обычно выводит файлы меньшего размера, чем pngcrush, так как последний сохраняет некоторую информацию, чтобы строго следовать спецификации PNG. [3] AdvDef можно использовать после любого из них для дальнейшего улучшения результатов. AdvDef прост в использовании, так как он оптимизирует только само сжатие. Zopfli, как правило, достигает лучших коэффициентов сжатия, чем pngcrush или OptiPNG, но для его работы требуется значительно больше времени. [4] [5]
Для быстрого сжатия просто используйте OptiPNG без каких-либо опций:
файл optipng.png
Если требуются наименьшие результаты и время не имеет значения, цепочка такого рода дает еще меньшие возможные результаты:
optipng -o7 файл.pngadvdef -z4 файл.pngpngout /ks файл.pngdeflopt файл.png
Каждая из этих утилит использует другой, более сложный вариант метода сжатия "deflate" в PNG и, как правило, создает файл меньшего размера при запуске после других инструментов. Если имеет значение наименьший результат, попробуйте поэкспериментировать, чтобы увидеть, что дает наилучший результат.
После любого сжатия изображение следует сравнить с оригиналом. Иногда случается так, что причуды оригинала приводят к потере прозрачности даже при сжатии, которое должно быть без потерь. Обычно, но не всегда, это проявляется в виде изменения цвета фона, которое очевидно видно с первого взгляда.
Для быстрой и грязной оптимизации может быть полезен скрипт opt-png (находится в пакете littleutils). Он автоматизирует оптимизацию PNG, используя pngcrush и вариант pngrewrite в качестве базовых движков для достижения результатов, аналогичных optipng.
Обратите внимание, что эти цепочки, особенно шаг pngrewrite, будут отбрасывать блоки, не являющиеся изображениями, часто включая информацию об авторских правах или создателе. Проверьте pngrewrite и другие параметры программы, если вы хотите сохранить эту информацию.
Файлы PNG также можно оптимизировать без потерь с помощью PNGExtra, который удаляет все скрытые «дополнения» (или метаданные ) из файлов, не затрагивая данные изображения.