Уменьшение размера вектора


Уменьшить размер вектора достаточно актуально, в том случае если используется много деталей, спецэффектов, есть трейсы (изначально растровые изображения, переведенные в векторный формат).
Почти у всех стоков классического вида (к неклассическим я отношу Creative Market) есть ограничения по размеру заливаемого векторного файла. И если даже файл вроде как 13,8мб, то VectorStock его уже зарубит и велика вероятность что будет глючить заливка на всеми любимом Shutterstock.
Итак. Хочу поделиться тремя приемами, которые не требуют каких-то супер усилий, вложений, покупок плагинов, но позволяют сделать жизнь проще, а вектор меньше.

1. Первое, что приходит в голову — это уменьшить рабочее поле. Как показала практика совершенно безболезненно его можно уменьшить аж до 50*50px. Естественно, что перед этим вы сохраняете нормальных размеров превью. В принципе, если не хватает до нормального размера файла всего ничего, то можно поле сделать просто где-то 200*200 или около того.

2. Более традиционным способом будет уменьшение количества точек в объектах. Это можно сделать программно, а можно плагином (но это уже тема платная, так что пока оставим). Делается это при помощи функции simplify. Поиграйтесь с настройками, при переводе акварели даже выставление 98% дает очень хороший результат. Единственное, не забудьте увеличить сам объект до 1000*1000px и больше, чтобы было именно уменьшение точек, а не деформация объекта.

3. В том случае, если в работе использовались блендованные объекты — уменьшите шаг бленда (blend). Человеческий глаз не отличит без приближения разницы между полным сглаживанием и шагом в 40 (к примеру), а количество мегабайт вы уменьшите значительно.


При желании и надобности можно использовать и все сразу ;). Желаю успехов!

32 комментария

❄ Летта
Отличный пост! Еще как вариант при трассировке акварелей выставлять в параметрах трассировки количество объектов поменьше. Качество не теряется, а вот вес уменьшается иногда значительно. Вообще стоит создать пресет именно для трассировки акварели путем личных проб и ошибок. Я вот настроила — вес реально меньше стал у картинок.
Алена Kaz
Спасибо! Да, трассировка акварели — это отдельная песня, в зависимости от того что хочется получить на выходе. Может отдельный пост;)?
Валерия
Ален, я тут случайно набрела на беседу… Никто не замутил такого поста, случайно? Не знаешь?))) я хочу подступиться к вектору, но пока очкую )))
❄ Летта
Трассировку акварели на шаттере запретили, так что теперь только рисовать остается, либо черно-белые контуры трассировать.
Валерия
Я тут со своими Проектами сильно отстала от темы see_no_evilgrin но наверстаю по их завершению, чесслово! sweat_smileraised_hand
А вот по ч/б контурам есть чо? У меня их много, ты сама видела see_no_evillaughing
Алена Kaz
По чб контурам я готовлю пост. Там в принципе все просто.
А акварель — да, запретили… у меня и растровую не принимают либо принимают если по несколько раз засылать
Валерия
Аленушка, милая!!! pray Готовь, готовь, ненаглядная!!! pray и так, чтоб прям совсем чайники все поняли prayrelaxedkissing_heart
Алена Kaz
кажись тут уже отписываются про трейс и пр…
но если будет еще нужно — опубликую резюмирующий пост
Валерия
мне уже ребята в моем посте с графикой подсказали алгоритм, мерси)) если что, я постучусь еще kiss smile
Валерия
И еще вопрос, Маш! Акварель теперь только растровая возможна на шаттере?
❄ Летта
Растровая да, векторная — только в качестве подложек, всякие пятна.
По ч/б контурам не видела, если конкретно задашь вопрос может кто-то сможет ответить. Подумай что тебе конкретно надо знать.
Валерия
Оке! Мерси! kiss
Топот Котов
Спасибо, Алена, очень полезная статья!

1. Первое, что приходит в голову — это уменьшить рабочее поле. Как показала практика совершенно безболезненно его можно уменьшить аж до 50*50px.

Эта штука работает потому что вместе с вектором сохраняется растровое превью (внутри самого файла). Собственно при уменьшении размеров рабочей области происходит уменьшение этой встроенной превьюшки, поэтому есть небольшое изменение размера файла. Поэтому можно при сохранении просто безболезненно снять галочку и тем самым убрать эту часть совсем wink
Алена Kaz
Всегда пожалуйста). У меня просто априори она снимается на автомате, поэтому даже в голову не пришло ))
garrykillian
Размер уменьшается даже если убрана галоча с превью (а также убрано встраивание шрифтов и т.д.).



*это тайл дамаск паттерна в артбордах(квадратных): 2000pt \ 50pt \10pt

garrykillian
А причина в самой сути векторной графики. У каждой векторной точки есть координаты ее положения. И если при большом артборде одна точка имеет координаты: 1200.3456 * 1300.3456, то при маленьком будет иметь скажем 20.3456*30.3456. Кол-во знаков после запятой ограничено 4-мя. Отсюда следует что при уменьшении артборда мы избавляемся от лишних цифр в координатах каждой точки — соответственно уменьшая размер выходного файла.
Топот Котов
Вы правы, но этим уменьшением на 100-200к байт я думаю можно пренебречь.
garrykillian
:) А как на счет 40 мб? joxi.ru/YxAeXMwcVV6v2y
Топот Котов
Ну так-то неплохо smile
Это на реальном векторе, или специально под это придуманном?)
garrykillian
Реальный, взял один из тех что недавно заливал.
Топот Котов
Не очень понятно как такое возможно, у вас разница в размерах получилась в 20 раз?
Даже если весь файл будет состоять из одних координат в текстовом формате на 100%, то согласно вашему описанию выше вы сможете в лучшем случае уменьшить длину каждой координаты, а следовательно и всего файла не более чем на ~20%. Хорошо, давайте даже возьмем 50% (не уверен, но ладно). Откуда получается разница в 20 раз? Просто даже на уровне банальной логики, вы количество информации не уменьшаете, это тот же вектор со всеми свойствами и т.д., но разница в размере файла вдруг становится такая колоссальная в десятки раз?
Тогда этот файл должен жаться любым статистическим кодером типа zip просто фантастически. Объясните.
garrykillian
со мной еще начали по этому дискутировать, поэтому я постараюсь в ближайшие дни написать развернутый пост (в жж и если интересно продублирую и тут) по этому вопросу, да и устройству eps файла. Что там и где занимает объемы и почему.
Топот Котов
Да было бы здорово, если продублируете. Интересно.
Алена Kaz
Продублируйте пожалуйста, очень интересно.
Алена Kaz
Немного влезу в дискуссию. Но именно этот эффект я имела в виду под уменьшением размера в зависимости от размера изображения и артборда. У меня пример тоже из таких же разрядов:

данная картинка в оригинале 400*600 весила порядка 50-ти мегабайт, после уменьшения поля до 75*75 весит 2,93 мегабайта.
Алена Kaz
Ну в общем галку превью как влияющую на размер я не рассматриваю в принципе, потому что убираю эту галку при сохранении априори. Посему я и говорю об уменьшении 30 мб в 3 и т.п.
Видимо неправильно выразилась.
Екатерина
Вот всем пользуюсь с переменным успехом. А можно поподробнее зачем перед simplify нужно увеличить сам объект? а то я, видно, как-то не так этой штукой пользуюсь, поэтому всегда удивляюсь чего это у меня то дырки получаются то размер не изменяется))
Алена Kaz
Если увеличить сам объект, то увеличивается расстояние между точками, пропорционально, но увеличивается. В результате погрешности использования simplify будут меньше, поскольку не так заметны при большом масштабе. Во-всяком случае я так себе понимаю данный алгоритм )).
Ольчик
как раз сегодня этот вопрос заинтересовал! спасибо за статью ;)
Алена Kaz
всегда пожалуйста :), рада что статья пригодилась)
Светлана Чередникова
Алёна, спасибо большое за статью!
Алена Kaz
всегда пожалуйста ))
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.