Оптимизация и защита: img → SVG → Fonts
Приём не новый, но актуальный.
Поисковые системы остро рассматривают производительность сайта (экран загрузки, время перехода в интерактив и другие метрики) при разных условиях: скорости соединения, устройства просмотра и так далее.
Один из критериев нагрузки на трафик — это загружаемые изображения, используемые на сайте. Приемов по их оптимизации множество:
- Брейкпоинты и медиазапросы в CSS (загрузка заранее подготовленного контента в зависимости от разрешения устройства).
- JavaScript по оптимизации изображений (дополнительная нагрузка на сайт в виде исполнения скрипта).
- «Ленивая» загрузка (с Chrome 76) при использовании в HTML атрибута loading="lazy".
- «Дедовское» сжатие и размещение на хостинге других изображений.
Также стоит отметить, что сейчас развита тенденция использовать SVG (векторные изображения) вместо тех же PNG, JPG.
Например, иконки соцсетей и другие графические элементы, так как с векторной графикой удобнее работать в верстке, она значительно уменьшает нагрузку на трафик и устройство просмотра за счет своих физических свойств и размеров.
Все преимущества можно почитать в других статьях.
Перенос всего, что можно, в вектор — довольно востребовано на рынке «фриланса». Другое дело, когда векторная графика не берется из открытых источников, а рисуется на заказ. Существуют способы защиты таких изображений от копирования. Самый надежный — это использование шрифтов, то есть конвертирование ваших SVG в файл шрифтов и стилей.
Рассмотрим на примере:
Есть исходная картинка в формате PNG и SVG.
Создадим из нее файл шрифтов. Сервисов для этого существует множество, они бесплатные. Опишу на примере одного из них (не реклама). Загружаем наше SVG на сервис:
Далее дополнительная кастомизация (информация об авторстве, метод подключения и так далее). Скачиваем готовый архив. В нем для работы нужны только папка Fonts и файл стилей:
Верстаем три блока. Подключаем файлы скаченных шрифтов.
В первом блоке загружен обычный PNG, во втором — SVG, в третьем символ через тег <i>. Размеры изображения для первых двух блоков идет через img, для третьего — через font-size (размер шрифта).
Кстати, классы генерируются на моменте создания шрифта. Сгенерированный вами класс можно посмотреть в файле demo.html через инструмент разработчика:
Размеры нашего домика в этих форматах:
Разница в размере между ними существенная. При этом в виде файла шрифтов он выше, чем у SVG, так как увеличивается само количество файлов. Попытаемся сохранить наш домик со страницы.
Если даже попытаться полностью скопировать весь файл шрифтов, то обратной генерации в графический элемент будет невозможно. Таким образом, ваше изображение легким «копипастом» забрать нельзя.
Напоследок — аудит на реальном хостинге. Указывается лишь только формат PNG, оказывающий какую-никакую нагрузку:
Понимаю, что качество подготовки скринов и текста оставляет желать лучшего, но я хотел донести информацию, которая, возможно, будет полезна кому-нибудь.
Заранее благодарен за прочтение и ваше время!
если вы всю свою эксклюзивную графику в woff или otf "спрячете", да я вам только спасибо скажу, збс, теперь можно всю ее выкачать за пару кликов
Лёгким нет. Но просто скачивается сам файл шрифта. Устанавливаем его в систему. Потом в Corel Draw/Illustrator (кому что больше нравится) через диспетчер символов вставляем интересующий нас и переводим его в кривые.
Если это попробовать через панель разработчика, файл шрифтов выгрузится только в формате woff2, из которого извлечь не получится.
Хотя, я попробую ваш способ.
Есть даже онлайн конвертеры woff2 в ttf/otf.
ээй, это же мой излюбленный способ
Комментарий недоступен
Если кто-то хочет по-быстрому «тиснуть» ваш логотип или иконку, то можно просто «принт-скином». Нужен размер больше - увеличиваем масштаб в браузере и скриним. От воровства - так себе способ.
Меня бесит, когда люди прячут графику. Я ведь всё равно выкорчую - просто потрачу чуть больше времени. А если не смогу - всегда есть принтскрин, фотошоп, перо, или еще проще - гугл, в котором всё уже сделано))
Подскажите пожалуйста, что за программа на 4-м скриншоте, в которой Вы работаете?
Хочу так же править html-страницы, а то я в хостинговском редакторе это делаю.
https://code.visualstudio.com/
Это Visual Studio Code. Она бесплатная, продукт Microsoft.
Также установите разные плагины, обязательно Emmet и другие. Много статей об этом написано.
Я могу ошибаться, но роде бы эммет из коробки идет)
В теории это вполне реализуемо:
1. Преобразовать в картинки все символы;
2. Шрифт это набор инструкций по канвасу, что в целом можно имитировать печатью на том же канвасе PostScript или PDF.
А на практике никто за такую хрень не готов платить.
Кстати основная идея с шрифтами подкрашивать элементы и делать их отключенными (шейдить).
В целом за сервис спасибо. Попробую поиграть с сервисом. Даже интересно.
А нет ли статьи со списоком всех инструментов для преобразования.
1. Это бесплатно. Сервис по генерации бесплатный. Там есть просто уже готовые изображения по всяческим подпискам. А свою графику генерить - хоть сколько и как угодно.
2. Шрифт - это кодирование в разных форматах. Обратных генераций нет. Попробуйте.
3. Имитацией печатью - возможно, но это дополнительная работа в редакторах.
4. Шрифт - он будет выглядеть в любом размере на любых дисплеях одинаково качественно, в отличии от .png/.svg.
SVG - это кривые. Это не растр. Качество от размера не зависит НИКАК
Не всегда. Внутри svg можно использовать растр. И тогда качество будет зависеть от размера.
Ну это уже извращения
Есть люди, которые топят за то, чтобы svg заменил html+css. Вот это действительно извращение. )
Только вот запихивание такого SVG в шрифт явно не изменит ситуацию в лучшую сторону :)
Я бы сказал, что такие шрифты в 2019 году, это в принципе ошибка. Но тут уж на любителя.
Совершенно согласен. Поспешил. SVG в моем комментарии лишний.