У меня есть два файла с одинаковыми размерами, и я хочу сохранить свой векторный файл в веб-SVG. Проблема в том, что этот размер файла больше, чем создание того же файла в формате PNG для Интернета.
Я думаю, что правильно экспортирую настройки SVG.
Файл PNG имеет следующие размеры: 700x500px:
Файл SVG имеет аналогичные размеры: 755 245 x 485 663 пикселей:
Я сохраняю файлы SVG с этими настройками (только испанский, извините):
Почему размер файла SVG больше, чем размер файла PNG?
ССЫЛКА НА ФАЙЛ PNG: https://www.dropbox.com/s/wmncderyprnablk/sample.png?dl=0
ССЫЛКА НА SVG-ФАЙЛ: https://www.dropbox.com/s/bfp5mpjgyuwibf7/sample.svg?dl=0
Можете ли вы опубликовать исходное изображение SVG и дать ссылку на него здесь? Действительно кажется, что вы все сделали правильно в SVG, все ваши фигуры имеют опорные точки.
Также может быть так, что экспорт PNG на самом деле имеет меньший размер файла, чем SVG. Это действительно не такая уж редкость!
Показательный пример отсюда -> https://en.wikipedia.org/wiki/File:India-locator-map-blank.svg
SVG-файл = 421 КБ
PNG-файл = 51 КБ
Когда количество путей / опорных точек увеличивается, математическая информация для их хранения также увеличивается! В этих случаях растровая версия файла может больше подходить для файла меньшего размера.
Например , попробуйте отследить фотографию в реальном времени и экспортировать ее в формате JPEG, а затем в формате SVG. SVG будет намного больше, чем JPEG.
Убедитесь, что в вашем SVG нет растровых изображений, а сложные пути уменьшены в размере. Если вы можете связать исходный файл и есть проблема с параметрами экспорта, я отредактирую этот ответ.
РЕДАКТИРОВАТЬ
Это действительно случай сложных инструкций SVG. Глядя на формы и их характер, кажется, что вы использовали живую трассировку Adobe Illustrator для создания этих векторов. Live Trace может быть неэффективным, и настройка элементов управления может дать лучшие результаты.
Например: сравните опорные точки на r
одном из ваших логотипов и на логотипе, r
который я сделал сам.
Хотя шрифт не такой, как показано ниже, вам нужно гораздо меньше опорных точек, чем приведенному выше.
Есть также определенные персонажи, которые имеют волнистые линии при увеличении, хотя на самом деле они должны быть прямыми!
У вас есть 2 варианта:
Просмотрите весь документ, удалите опорные точки, которые вам не нужны, и измените те, которые вы делаете, чтобы вы могли удалить другие точки.
Повторно векторизуйте растровые изображения, которые вы использовали. Либо проследите его вручную (рекомендуется), либо настройте параметры Live Trace.
Конечно, вы могли бы просто пойти с PNG :)
Гум. Размер относителен. На самом деле у вас нет файла SVG того же размера, что и ваш png. На самом деле у вас есть векторный файл, размеры которого в этих конкретных условиях соответствуют PNG.
Проверьте этот график.
Вы можете сделать свой SVG маленьким или большим по размеру. Если данные совпадают, размер файла (вес) тот же.
Вы можете экспортировать png (или любой другой формат файла растрового изображения), если он маленький, это так. Если это не так, файл будет больше.
Вероятно, пропорция нелинейна, но это основная идея.
Таким образом, если вес файла является приоритетом, в некоторых размерах PNG будет лучше, но в какой-то момент SVG может быть лучшим вариантом.
Помимо размера файла, есть еще один фактор, который следует учитывать при выборе формата файла.
SVG Графический процессор должен работать, чтобы вычислить пути файла SVG. Чем больше путей, тем больше вычислительной мощности требуется.
Растровые изображения, с другой стороны, зависят от размера файла. Большинство изображений на экране уже являются растровыми изображениями (карта, которой назначен цвет каждого пикселя). Файлы SVG должны быть преобразованы в данные растрового изображения.
Компромисс
Итак, есть еще один компромисс ... БОЛЬШИЕ ПРОСТЫЕ файлы SVG НАМНОГО более эффективны, чем даже относительно небольшие Bitmpas, НО сложное векторное изображение, выраженное в виде файлов SVG, потребует много вычислительной мощности на стороне клиента ...
Имейте это в виду. Выбирайте изображения SVG, если важно, чтобы изображение было четким (фирменным), а файл был относительно простым.
Изображение нескольких логотипов, которое вы показываете в своем вопросе, ОЧЕНЬ сложное. Формат PNG/Bitmap не только уменьшает размер файла, но и загружает его быстрее и стабильнее.
SVG — великолепный формат, но он не подходит для каждого изображения — он лучше подходит для более крупных и менее сложных элементов с резкими краями.
Неудивительно, что файл SVG больше, чем файл PNG. Рассмотрим особенности форматов.
Даже довольно простой файл SVG довольно большой из-за того, как он построен. На самом деле вам, вероятно, следует сравнить размер файла SVGZ с PNG для большего сжатия яблок в яблоки.
Если бы файл PNG был построен как файл SVG, он был бы намного больше, чем большинство несжатых форматов изображений. Цвет имеет длину не менее 4-7 байт в текстовом формате, в то время как в двоичном формате он занимает 3 байта, чтобы сделать полноцветное изображение с текстовым файлом в этих условиях. быть 7 мегабайт в текстовой нотации. Итак, вы видите, что даже до сжатия SVG много теряет.
Теперь тот факт, что размер svg всего в 2,5 раза больше, свидетельствует о том, насколько меньше данных он содержит. Попробуйте сжать svg и изменить окончание на SVGZ и посмотреть, насколько ближе будут результаты после этого. Тогда у вас есть гораздо больше сравнения яблок с яблоками. Скорее всего, ваш сервер все равно будет это делать.
Забавный интерфейс
Гаурав Раманан
Джошуа Робинсон
Тревор Бойд Смит