Skip to content

music10/image-generation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Шеринг

Что это

Генерация шейринг-картинок на канвасе с помощь Fabric.js. Скачать / NPM.

Генерация и скачивание занимает примерно 200 мс.

При каждом запросе по ссылке генерируется и скачивается PNG-картинка (метод download(canvas))

Файлы

Написано скриптом, встроенным в HTML-файл main.html. В ассетах лого и иконка.

В examples немного примеров.

При генерации получаем файл "musiq sharing n in playlist.png", где n — количество очков, playlist — название плейлиста. Имя файла обрезается до 32х символов.

Присутствующие элементы и иерархия:

  • Заголовок (heading) — большой зелёный текст
  • Анонимная группа
    • Обложка плейлиста (cover) — загружается по ссылке
    • Текстовая группа (textGroup) — справа от обложки
      • Текст (text) — белый сопровождающий текст
      • Плейлист (playlist) — название плейлиста
  • Лого (logo) — внизу справа
  • Нижняя группа (bottomGroup) — можно поставить вместо иконки
    • Иконка (icon) — эквалайзер
    • Текст (bottom) — любой текст

URL-параметры

Для отладки есть околоGET URL-параметры

score

Число от 1 до 10.

Количество набранных очков в игре.

Влияют на заголовок и текст.

Пример: http://127.0.0.1:5500/main.html?score=2

cover

URL-ссылка на изображение.

Ссылка на обложку плейлиста.

Пример: http://127.0.0.1:5500/main.html?cover=https://charts-images.scdn.co/assets/locale_en/regional/daily/region_global_large.jpg

playlist

Строка.

Меняет зелёный текст с названием плейлиста.

Пример: http://127.0.0.1:5500/main.html?playlist=Шкатулка с колыбельными

bottom

Строка.

Меняет текст внизу справа.

Слева от текста иконка проекта.

Пример: http://127.0.0.1:5500/main.html?bottom=dergunov × qurle

Несколько параметров: http://127.0.0.1:5500/main.html?score=10&cover=https://i.scdn.co/image/ab67706f00000003e1ce4acd2b501398c6d745eb&playlist=mint Presents... Best Dance Songs of 2020&bottom=awesome.devs

Дебаг и костыли

Строчка setTimeout(function () { link.click() }, IS_DEBUG ? 500 : 0)

При IS_DEBUG = true скрипт даёт время канвасу прогрузиться. При не-дебаге имитируется нажатие кнопки скачивания сразу же. Если оставить без тайм-аута, то работать не будет.

Другие константы

Colors (enum) — палитра

Sizes (enum) — размеры канваса и повторяющиеся значения

headings[] — большие зелёные заголовки

texts[] — маленькие белые незаголовки

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages