Генератор иконок для сайта
Сделал для сайта автоматизированное создание иконок типа favicon
, которыми пользуются браузеры и устройства для своих нужд.
Я накидал небольшой скрипт, состоящий из двух функций png()
и ico()
. Функция png()
берёт файл favicon.svg
и преобразует его в PNG, указанных в массиве size
, размеров. Функция ico()
также берёт файл favicon.svg
и преобразует его в формат ICO, который содержит в себе несколько размеров изображения.
#!/usr/bin/bash -e
#
# Generating 'favicon.ico' file.
#
# @package Bash
# @author Kitsune Solar <mail@kitsune.solar>
# @copyright 2023 Library Online
# @license MIT
# @version 0.1.0
# @link https://lib.onl/ru/articles/2021/05/841ba281-a22b-55ee-b97d-251a5dc111d8/
# -------------------------------------------------------------------------------------------------------------------- #
size=( 16 24 32 48 64 72 80 96 128 144 152 167 180 192 196 256 300 512 )
file_svg='favicon.svg'
file_ico='favicon.ico'
rsvg="$( command -v rsvg-convert )"
convert="$( command -v convert )"
identify="$( command -v identify )"
png() {
_check_file
for i in "${size[@]}"; do
${rsvg} -w "${i}" -h "${i}" "${file_svg}" -o "favicon-${i}.png"
done
}
ico() {
_check_file
${convert} -density '256x256' -background 'transparent' "${file_svg}" -define 'icon:auto-resize' -colors '256' "${file_ico}"
${identify} "${file_ico}"
}
_check_file() {
[[ -f "${file_svg}" ]] || { printf '%s does not exist!\n' "${file_svg}"; exit 1; }
}
"$@"
Использование
Для работы скрипта необходимо, чтобы в системе были установлены RSVG и ImageMagick. Скрипт можно сохранить с произвольным именем, например, favicon.sh
в директорию, где находится изображение favicon.svg
. Далее, вызывать функции следующим образом:
Скрипт ищет файл favicon.svg
и преобразует его в необходимые изображения.
Категории
Смотрите также
Похожие записи не найдены.