![]() | Эта страница планируется к включению в справочную систему Википедии в качестве руководства. |
При загрузке файлов изображений в Википедию или, что предпочтительнее, на Викисклад, важно использовать правильный формат файла. Для диаграмм следует выбирать формат SVG (особенно для тех, которые впоследствии потребуется расширить), для фотографических изображений — JPEG, для всего остального — PNG.
В большинстве случаев не рекомендуется использовать другие графические форматы:
Не следует снабжать картинку водяными знаками, это расценивается как нарушение нейтральности.
Благодаря редактируемости и масштабируемости, векторный формат SVG является хорошим выбором для графического представления данных и иллюстраций. Однако не всегда легко конвертировать растровые изображения в SVG, и некоторые изображения (особенно фото), не благоприятствуют этой конвертации. Формат PNG является, как правило, более предпочтительным, чем JPEG для всего, что рисуется, а не фотографируется.
Алгоритм сжатия PNG предназначен для изображений с резкими цветовыми границами и не слишком большим количеством деталей. Сохраняя PNG-изображение из графического редактора, некоторые вещи следует указать вручную.
Среди многих веб-дизайнеров существует заблуждение, что размеры PNG превышают размеры GIF. Это заблуждение происходит от двух фактов:
![]() |
![]() |
A title as a caption under the image | |
---|---|
Изображение с заголовком 1248 байт |
Без заголовка 854 байт (+74 байт текста) |
Содержит ли схема название? Если да, следует удалить части изображения, содержащие название, отдавая предпочтение простому тексту. Преимущества:
![]() |
![]() |
![]() |
1-битный цвет без сглаживания (180 байт) |
4-битный цвет со сглаживанием (309 байт) |
Увеличенный вариант |
Соответствует ли число битов на пиксель числу цветов в изображении? Рисунки, как правило, имеют несколько цветов. Если схема использует 4 цвета, нет необходимости хранить её в 24-битном формате (truecolour), способном различать 16 миллионов цветов. Чем меньше глубина цвета PNG, тем меньше цветов в палитре. Изображения с палитрой могут иметь глубину 1, 2[1], 4 или 8 бит (2, 4, 16, или 256 оттенков). Используйте глубины бит, позволяющие обработать все цвета в изображении.
В этом случае пиксели, соседние с граничным пикселем изображения, принимают промежуточное значение между цветом изображения и цветом фона, создавая градиент и размывая границу (cм. иллюстрацию справа).
![]() |
![]() |
Справа — пример JPEG-файла, который нужно было сохранить в формате PNG. JPEG использует сжатие с потерями данных и предназначен для фотографий. Сжатие рисунков или диаграмм в JPEG даёт изображение плохого качества, так как видны артефакты вокруг краёв.
Ещё один недостаток — большой размер итогового файла. Компрессия JPEG имеет много вариантов, но чаще всего используются только два цветовых пространства: 24 бит RGB и 8-битные серые. Самое главное, JPEG по своей природе не поддерживает индексации цвета. Пример справа показывает изначально 4-цветное изображение, повреждённое JPEG-сжатием. Это привело к довольно большому размеру файла — аж 4,8 килобайт вместо 854 байт — и появлению ложных цветов даже после преобразования в PNG.
Если у вас нет исходного файла, но есть JPEG, не стоит сохранять JPEG как PNG: качества это не прибавит, зато приведёт к ещё большему размеру файла.
![]() |
![]() |
Увеличенный PNG | Увеличенный SVG |
PNG — растровый формат хранения графической информации, использующий сжатие без потерь, а SVG — это формат векторной графики, позволяющий кодировать изображение как ряд геометрических конструкций. Если это смущает вас, не волнуйтесь, вам не нужно разбираться в технических аспектах создания изображений. На практике, SVG даже такого качества, как создаёт программа Inkscape, всё же легче для дальнейшего улучшения, чем растровая графика. Для изображений, состоящих в основном или полностью из многоугольников, линий и кривых (государственные флаги, дорожные знаки и т. д.), SVG в особенности проявляет преимущество над растровой графикой. Справа показаны два примера изображения: в форматах SVG и в PNG. Разница в качестве очевидна.
SVG также может быть легко изменён с помощью текстового редактора.[2] Это делает обновление иллюстраций и их перевод на другие языки гораздо легче. Редакторы в GNU/Linux и в других UNIX-подобных системах имеют меньше проблем со шрифтами в SVG, поскольку они обычно используют похожие шрифты, а также они могут использовать библиотеку rsvg для просмотра SVG, как и движок MediaWiki.
Во многих векторных форматах (SVG не исключение) есть функция «внедрить картинку». Конечно же, фотографическая текстура в векторном рисунке и с векторной же обрезкой — это замечательно. Но часто бывает такое: на странице с PNG-диаграммой просят перерисовать её в SVG. Кто-то, недолго думая, внедряет PNG в SVG и говорит: да, сделано. Это нехорошо! Причин несколько.
Несколько простых требований к скриншотам.
Не стоит выкладывать фотографии прямо с камеры. Рекомендуется сделать с фотографией то же самое, что вы делаете, когда сдаёте её в печать: выровнять яркость, выставить баланс белого, обрезать неважные части.
Крайне не рекомендуется поворот средствами EXIF (именно так все фотоаппараты готовят вертикальные рисунки). Программа, не понимающая EXIF, покажет фотографию повёрнутой. Во многих просмотрщиках графики (например, XnView) есть функция «автоматически развернуть по EXIF без потерь данных».
Стоит спросить у сфотографированных людей, хотят ли они выставить свою фотографию на всеобщее обозрение. Если ответ «нет», не загружайте фото.
Многие репортажные фотографии можно загружать, закрасив или пикселизировав узнаваемые лица. Например: Изображение:2005 Moscow powerless trolleybus.jpg
Хотя некоторые форматы предполагают несколько алгоритмов сжатия, в целом формат и сжатие связаны вместе. Также выбор правильного представления изображения (индексированный цвет, TrueColor, сжатие с потерями такого типа как в JPEG…) имеет не меньшую важность при загрузке изображения, нежели сжатие. Сжатие может быть усилено при загрузке следующей версии изображения, а вот переводить из одного представления в другое понадобится явным образом.
Как указывалось выше, JPEG был разработан для фотографических изображений. Хотя алгоритмы JPEG неплохие, есть пара советов, которые помогут получить наименьший размер файла с минимальным ущербом для качества:
jpegtran -optimize
(при этом из файла также может быть удалена такая информация, как уменьшенные копии изображения, добавленные камерой). Jpegtran является частью libjpeg. На основе jpegtran существует пакет littleutils с набором скриптов, автоматизирующих оптимизацию JPEG.В нефотографических изображениях (таких как рисунки и скриншоты программ) обычно используется мало цветов. Если это так, стоит сохранять изображение с индексацией цветов. Это уменьшит размер файла (о режиме с индексацией и truecolour см. глубина цвета).
Некоторые из оптимизирующих программ приведены ниже:
OptiPNG в целом лучше, чем pngcrush и, как правило, значительно быстрее. Утилита AdvDef может быть использована после OptiPNG для дальнейшего улучшения результатов.
Для быстрого сжатия воспользуйтесь optipng:
optipng file.png
Для выполнения наиболее сильного сжатия (может занять много времени):
optipng -o7 file.png advdef -z4 file.png pngout /ks file.png deflopt file.png
Каждая из этих утилит использует свой метод уменьшения PNG. После любого сжатия изображение должно полностью соответствовать оригиналу.
Для быстрой оптимизации можно использовать скрипт opt-png (пакет littleutils) может быть полезным. Он автоматизирует оптимизацию PNG, используя pngcrush и pngrewrite в качестве основы.
Следует также отметить, что эти цепочки, особенно pngrewrite, могут привести к удалению блоков дополнительной информации, включая уведомление об авторском праве. Не используйте pngrewrite, если вы хотите сохранить эту информацию.