«Одноклассники» запустили конструктор полноэкранной рекламы Canvas
Depositphotos
Соцсеть «Одноклассники» внедрила конструктор Canvas в группах с аудиторией не менее 50 000 подписчиков, с помощью которого рекламодатели смогут создавать мобильную рекламу полноэкранного формата с различными элементами. Это новый тип промо-поста в мобильной ленте, сообщают в компании.
Новый формат будет интересен разным типам рекламодателей. Для крупных брендов это возможность в одном рекламном объявлении показать несколько продуктов и увеличить качество контакта с аудиторией с помощью интерактивных форматов внутри соцсети. Для малого бизнеса страница Canvas может стать заменой мобильной версии сайта, с которой клиенты смогут сразу позвонить или связаться с компанией в личных сообщениях.
Механизм работы конструктора следующий: при нажатии на пост пользователь попадает на полноэкранную страницу с контентом. Туда рекламодатель может добавить видео с автозапуском, панорамные фото с функцией гироскопа, слайдер с изображениями и «активные кнопки» для перехода на сайт, звонка или установки приложения.
Рекламу, созданную с помощью конструктора, уже протестировали «Тинькофф Банк», онлайн-кинотеатр OKKO и жилой комплекс «Зиларт».
Семен Боярский, директор по развитию стратегических продуктов Одноклассников: «В 2016 году мобильная аудитория ОК выросла на 17% и продолжает расти. Для работы с этой аудиторией мы запускаем отдельные рекламные форматы. Canvas позволяет не просто размещать полноэкранную рекламу, но и использовать разные функции смартфона: например, элементы с привязкой к гироскопу создают 3D-эффект и лучше вовлекают пользователей. Запуск будет интересен крупным брендам и performance-рекламодателям. Canvas дает большой мобильный охват, страницы адаптируются под любые размеры экранов и легко загружаются даже при слабом интернет-соединении. Так что малый и средний бизнес может заменить традиционные лендинги на страницы Canvas и получать с его помощью лучшую конверсию».
Ольга Липовских, менеджер по таргетированной рекламе «Тинькофф Банк»: «Формат Canvas позволил нам увеличить CTR в 3 раза по сравнению с нашими стандартными кампаниями. CPC снизился в 2 раза по сравнению с мультиформатным размещением за тот же период. Кроме того, мы смогли вовлечь пользователей: по нашим данным, около 30% людей, досмотревших страницу до конца, перешли на сайт и оставили заявку. Ну и, конечно, количество фидбэка — «классов» и перепостов — значительно превысило стандартные рекламные форматы».
как создать canvas – insideok.ru
Одноклассники запустили новый рекламный инструмент — Canvas! Рассказываем, как им пользоваться. Спойлер: это очень просто.
Чтобы приступить к работе с инструментом, проверьте, под какой ролью вы зашли в группу. Для эффективной работы с canvas необходимо использовать одну из администраторских ролей.
Шаг 1
Зайдите в «Настройки» через панель управления, которая находится слева под аватаркой группы.
Шаг 2
В «Настройках» выберите инструмент «Конструктор canvas» в меню слева — откроется кабинет canvas.
Шаг 3
Внутри кабинета нажмите на кнопку «Создать canvas».
Шаг 4
Добавьте название вашего canvas в специальное поле и нажмите кнопку «Дальше».
Шаг 5
После этого откроется панель создания рекламного предложения сanvas, где вам нужно описать ваш товар или предложение.
Здесь доступны следующие опции:
- Буква М в левом верхнем углу — это инструмент «Мастер-слайд», в нём вы можете выбрать и установить базовые элементы canvas: кнопку перехода на сайт, логотип и выбрать основной фон или фото.
- Т (Текст) — здесь можно кратко описать ваше рекламное предложение. Надпись будет размещена прямо на баннере.
- Изображение — здесь вы можете загрузить изображение, которое будет размещено в вашем canvas.
- Видео — вы можете добавить видео, ранее загруженное в группу, или загрузить дополнительно.
- Гиро-фото — изображение 360º, которое будет двигаться вместе с устройством или на экране. Это очень эффектный инструмент для визуальной рекламы.
- Слайдер — с помощью этого инструмента вы можете показывать несколько рекламных предложений в своём canvas с помощью слайд-шоу.
Используйте для описания разные цвета, шрифты и задайте единый фон для вашего canvas или задайте индивидуальный фон для слайда. Все эти и другие опции расположены на панели «Мастер-слайд». Для смены цвета шрифта и фона используйте HTML-коды цветов. Подробнее об этом написано здесь.
Выберите функцию, которая будет выполняться по клику на рекламное предложение. В кабинете доступны следующие опции:
- Перейти на слайд — в этом случае пользователь переключится на следующую страницу вашего рекламного canvas по слайдов принципу презентации. Чтобы такой формат заработал, необходимо создать несколько слайдов. Эта опция также хороша, если у вас нет своего сайта, — можете создать мини-сайт, используя инструмент canvas.
- Открыть веб-сайт — используется для привлечения пользователя на сайт.
- Установить приложение — подходит для продвижения приложения или игры.
При выборе опции вам будет предложено заполнить поля, необходимые для правильной работы рекламного предложения.
Технические требования для изображений и видео:
- Размещение изображений — вы можете добавить несколько фото или картинок на один слайд в canvas. Общий вес всех изображений не должен превышать 5 Мб, а одного изображения — 1 Мб. Рекомендуемая ширина: от 414 пикселей и выше. Высота — не более чем в 1,65 раз больше ширины (683 пикселей при ширине в 414). Поддерживаемый форматы: PNG и JPEG.
- Видео — вы можете добавить видео, ранее загруженное в группу, или загрузить дополнительно. Технические требования к видео: только 1 видео размером 16:9 или 4:3 можно расположить на слайде. Пожалуйста, обратите внимание на тот факт, что видео должно быть предварительно загружено в вашу группу и иметь общедоступные настройки публичного просмотра без ограничений.
- Гиро-фото. Рекомендуемый размер для этого формата — 736 пикселей по высоте и до 1800 пикселей по ширине.
Шаг 6
После добавления изображений переходим к предпросмотру и публикации!
Нажмите на кнопку «Предпросмотр», чтобы посмотреть, что у вас получилось.
Шаг 7
Создайте промо-тему. Она необходима для того, чтобы пользователи смогли перейти в ваш canvas. Используйте точные и обещающие пользу заголовки и яркие изображения — тогда больше пользователей посмотрит ваш canvas. Обратите внимание, что добавление изображения в промопост является обязательным, поэтому напишите мотивирующий к переходу текст, а также загрузите привлекательную картинку и нажмите «Сохранить» или «Обновить», если создали промопост ранее.
Теперь промопост готов!
Чтобы увидеть, как ваш canvas будет выглядеть на экранах телефонов, отправьте ссылку на промопост себе в личные сообщения и откройте её с мобильного устройства.
Публикуем видеоинструкцию для тех, кому такой формат комфортнее:
Одноклассники запустили конструктор полноэкранной рекламы Canvas
Рекламодатели получили возможность создавать мобильную рекламу полноэкранного формата в Одноклассниках. В настройках всех верифицированных групп с аудиторией не менее 50 000 подписчиков появился конструктор Canvas: с помощью него можно создать рекламную…
Одноклассники запустили тестирование рекламного формата Canvas
Социальная сеть Одноклассники начала тестирование нового рекламного формата Canvas — интерактивных мобильных промопостов. Первым протестировал новый формат «Сбербанк».
Canvas — новый тип промопоста в мобильном приложении социальной сети, который…
В Одноклассниках появился конструктор полноэкранной рекламы Canvas
Реклама, созданная с помощью конструктора, доступна для продвижения через myTarget на аудиторию мобильных приложений ОК для смартфонов. В ближайшее время реклама будет показываться также на планшетах. Стоимость размещения объявления Canvas определяется в аукционе myTarget.
При нажатии на рекламный пост пользователь попадает на полноэкранную страницу с контентом. На страницу рекламодатель может добавить видео с автозапуском, панорамные фото с функцией гироскопа, слайдер с изображениями и «активные кнопки» для перехода на сайт, звонка или установки приложения.
Ранее в этом году реклама формата Canvas была доступна по индивидуальному запросу. Сейчас инструмент доступен в верифицированных группах с аудиторией не менее 50000 подписчиков, однако позже Canvas смогут воспользоваться администраторы всех групп в соцсети. Компания также подготовила инструкцию по запуску Canvas.
Новый формат будет интересен разным типам рекламодателей, считают в «Одноклассниках». Для крупных брендов это возможность в одном рекламном объявлении показать несколько продуктов и увеличить качество контакта с аудиторией с помощью интерактивных форматов внутри соцсети. Для малого бизнеса страница Canvas может стать заменой мобильной версии сайта, с которой клиенты смогут сразу позвонить или связаться с компанией в личных сообщениях.
По словам менеджера по таргетированной рекламе «Тинькофф Банка» Ольги Липовской, формат Canvas позволил увеличить CTR в 3 раза по сравнению со стандартными кампаниями, а CPC снизился в 2 раза по сравнению с мультиформатным размещением за тот же период. Кроме того, по данным банка, около 30% людей, досмотревших страницу до конца, перешли на сайт и оставили заявку. Также количество фидбэка — «классов» и перепостов — значительно превысило стандартные рекламные форматы.
Подпишитесь, чтобы получать полезные материалы о платном трафике
Социальная сеть Одноклассники для бизнеса
Дата публикации: 19-01-2020 293
Один из мифов об Одноклассниках — там «тусуются» одни пенсионеры. В соцсети сидит аудитория, которая относится к платежеспособной и это вовсе не люди преклонного возраста.
- Главный костяк — аудитория от 26 до 35 лет, следующая группа — 36-45 лет, третья возрастная группа — люди от 46 до 55 лет. Молодежи до 18 лет в соцсети только 7%. Мужская аудитория — 43%, женская — 57%.
- Ежемесячно «Одноклассники» посещает 71 миллион пользователей, из них 45 миллионов приходится на российскую аудиторию. Со смартфона заходят в социальную сеть 74% людей.
Особенности социальной сети Одноклассники
При планировании продвигать бизнес в соцсети, следует учесть ряд особенностей, которые присущи этой площадке.
Вирусный контент
В «Одноклассниках» каждый зарегистрированный пользователь видит новостную ленту, которая состоит из опубликованного контента друзей и сообществ. Также читатель видит реакцию на контент: классы, комментарии, репосты. Когда публикация набирает от 100 «классов», то далее следует цепная реакция: в силу вступает вирусный контент.
Хорошая реакция аудитории на:
- Эмоциональные посты: про любовь, дружбу, разочарование и т. п.
- Не очень длинное (на 1-3 мин.) и интересное видео.
- Простая тематика постов: проблемы с родителями, детьми, руководством, инфляция, рецепты, животноводство и садоводство, рукоделие и т. д.
- Минимальное (5-6 строк) количество текста. Аудитория «Одноклассников» не читает длинные посты.
- Юмор. Он ценится целевой аудиторией ОК.
Новостей из группы в общей ленте не будет. Для новостей есть отдельная вкладка. Эту публикацию просмотрит лишь заинтересованный пользователь. В общую новостную ленту контент попадет, когда ним поделятся.
Платежеспособная аудитория
ОК предлагает своим читателям много платных возможностей: дарить подарки друзьям, «невидимка»(хождение по аккаунтам невидимым для владельца), «оценка 5+», музыка без ограничения и т.п. В ОК есть площадка с товарами, услуга «поиск мастеров».
Платные услуги позволяют тратить средства внутри платформы. Это привычное дело для пользователей, они легко и без напряжений оплачивают услуги.
Реклама через MyTarget
Реклама в сети запускается посредством MyTarget. В аккаунте читателя при просмотре новостей сбоку или внутри ленты появляются блоки с рекламой. Оплачивается кампания выбранным способом оплаты: за показы либо за клики. Гарантированный просмотр рекламного материала будет при выборе кликабельных показов.
При подаче рекламы выбирается возраст, местоположение, пол, хобби, интересы. Рекламное объявление проходит модерацию.
Реклама в сообществах
Рекламную публикацию запускают и в сообществах, договорившись с админом группы. За определенную оплату он публикует рекламный пост. Эту публикацию увидят подписчики группы и все пользователи, кто читает ленту сообщества.
Из минуса такой оплаченной рекламы: нет подсчетов, какое количество пользователей перейдут по вашей ссылке. Из плюсов: можно публиковать видеоконтент, фотографии или текст с вашей ссылкой.
Перед обращением к администратору сообщества изучайте статистику группы, тогда не будет слива бюджета. Пролистайте ленту, обратите внимание на активность в группе: лайки, комментарии, репосты.
Использовать необходимо оба способа подачи рекламы. По результатам тестирования выбирается тот способ, который приносит больше целевых переходов по ссылке.
Рекламные инструменты в Одноклассниках
Промопосты
Промопосты показываются и подписчикам, и иным представителям ЦА. Этой целевой аудитории публикация показывается с кнопочкой «Подписаться» в сообщество одним кликом.
Промопосты демонстрируются согласно правилам таргетинга. Задаются нужные параметры, формирующие целевую аудиторию соцсети. Параметры заполняют в полях формы myTarget.
Создание промопоста:
- На странице своей группы публикуется пост.
- Регистрация в myTarget позволяет работать из личного кабинета.
- Из кабинета генерируется кампания «Заметка». Для этого размещается в нужном поле ссылка на публикацию.
- Настройки таргетинга позволяют указать: возраст, пол, интересы, бюджет (на день или на кампанию), длительность и охват.
- Опция «Аукционная стратегия» отмечает показы, фиксированную ставку или минимум бюджета.
Рекламная кампания отслеживается по статистике из личного кабинета.
Таргетинг
Целевые пользователи выбираются по параметрам.
- Возраст.
- Интересы: формируются на анализе поведения аудитории (поисковые запросы, поведение в сети, посещение ресурсов и т.п.)
- Продолжительность: указывается время показа, срок выхода РК.
- Бюджет, охват аудитории. Указывается стоимость одного дня и всего срока. В «Аукционной стратегии» используются предложенные варианты.
Используют функцию таргетинга по сообществам читателей.
Новинка: рекомендация рекламы с помощью платформы BigFish в Одноклассниках, работает вместе с фирмой Weborama. Программа проводит анализ поведения пользователей после опубликованного поста и показывает рекламодателю, какие ключи используют наряду с именем бренда или продукции.
Видеореклама
Это новая возможность проводить рекламную кампанию с помощью видеороликов с автоматическим запуском. Алгоритм как для запуска промо публикаций. В настройках таргетинга добавились: доходы, интересы и др. «Видеоконтент» публикуется в группе. В личном кабинете myTarget на видео устанавливается ссылка в «Заметке». РК начинает работу после разрешения модератора.
Скрытые темы
Инструмент рассчитан для определенной аудитории при запуске промоконтента. Публикацию читают только участники требуемой аудитории. Состав сообщества выбирается по: определенному интересу, месту жительства, возрасту.
Рекламная кампания в приложениях
Встраиваемые рекламные блоки в приложениях носят ненавязчивый характер. В приложения подключаются элементы бренда, которые включаются в игру или видео. Когда игроки просматривают видеоролик, они получают бонусы.
Canvas
Конструктор появился в ОК недавно. В рекламной кампании участвуют посты и сообщества от 50000 человек, связанные между собой. Когда пользователь кликает на публикацию, он попадает на страницу компании, на полный экран. Здесь рекламодатель может размещать видеоконтент с автозапуском, слайдеры, панорамные фотографии с функцией гироскопа.
Платформа «Одноклассники» многими брендами еще не освоена. Рост аудитории, появление инструментов для продвижения, возможности использовать разные типы контента, делают соцсеть отличной площадкой для продвижения бизнеса по территории стран СНГ и России.
Используются для продвижения: видеоканалы, проводятся игры, прямые эфиры, подарки, приложения ОК. Главное отличие сети: простое общение, основанное на дружеском отношении друг к другу. Платные фишки «Одноклассников», которыми аудитория пользуется давно, говорит о платежеспособности пользователей. Поэтому ОК для бизнеса подходят на 100%.
Рассказать друзьям:
«Одноклассниками» запущен конструктор полноэкранной рекламы canvas
Раньше в этом году формата Canvas дешева была по личному запросу. Рекламодателям представилась возможность создания мобильной рекламы полноэкранного формата в соцсети «Одноклассники».
В настройках всех имеющихся верифицированных групп, где аудитория образовывает не меньше 50 000 подписчиков, появился конструктор Canvas. При помощи него возможно создавать рекламную страницу с различными элементами. В социальной сети доступ к конструктору скоро обещают дать администраторам всех групп.
Canvas представляет собой промо-пост в мобильной ленте соцсети «Одноклассников». К её тестированию приступили 9 февраля этого года. Пользователь на протяжении нажатия на должность попадает на определённую полноэкранную страницу, наполненную контентом.
Рекламодатель может на страницу добавить необходимое видео с автозапуском, слайдер с изображениями, панорамный снимок с функцией гироскопа, «активные кнопки» для осуществления перехода на сайт, установки приложения или звонка.
Первыми применяли конструктор «Тинькофф Банк», жилой комплекс «Зиларт», онлайн-кинотеатр OKKO. Ольга Липовских, являющаяся менеджером по таргетированной используемой рекламе «Тинькофф Банка» подчернула, что Canvas разрешил повысить в 3 раза CTR в сравнении со стандартными кампаниями.
В это же время CPC уменьшился в два раза за теже месяцы в сравнении с мультиформатным размещением. Экспертами банка отмечается, что около трети людей, досмотревших до конца страницу, перешли на сайт, и покинули заявку.
, которую создали при помощи конструктора, есть дешёвой для продвижения конкретно через myTarget на потенциальную аудиторию мобильных приложений для смартфонов — «ОК». Рекламу в скором будущем начнут показывать кроме этого на планшетах. В это же время цена размещения объявлений Canvas определяется в рамках аукциона myTarget.
WMnews: МВидео Goods, PewDiePie, Tinkoff Fintech, Adwords Цена, Одноклассники Canvas
Похожие статьи, подобранные для Вас:
Canvas 2D | Canvas 2D (Примеры)
HTML5 тег <canvas>
используется для отображения графики на лету при помощи скриптов (обычно JavaScript).
Тем не менее, сам по себе элемент <canvas>
не имеет инструментария для рисования. Это всего лишь контейнер для графики. Чтобы в действительности что-то нарисовать в элементе <canvas>
, необходимо использовать соответствующий скрипт.
Метод getContext()
возвращает объект, предоставляющий методы и свойства для рисования в элементе <canvas>
.
В данном справочнике приводится информация о свойствах и методах объекта getContext("2d")
, который может использоваться для вывода в элементе <canvas>
текста, линий, прямоугольников, кругов и др.
Internet Explorer 9, Firefox, Opera, Chrome и Safari поддерживают элемент <canvas>
и его свойства и методы. Internet Explorer 8 и более ранние версии не поддерживают элемент <canvas>
.
Цвета, стили, тени
Свойства:
fillStyle
- Устанавливает/возвращает цвет, градиент или шаблон, используемый для заливки графического объекта
shadowBlur
- Устанавливает/возвращает уровень размытости для теней
shadowColor
- Устанавливает/возвращает цвет для теней
shadowOffsetX
- Устанавливает/возвращает горизонтальное расстояние тени от фигуры
shadowOffsetY
- Устанавливает/возвращает вертикальное расстояние тени от фигуры
strokeStyle
- Устанавливает/возвращает цвет, градиент или шаблон, используемый для обводки фигуры
Методы:
addColorStop()
- Определяет цвета и позицию остановки в объекте градиента
createLinearGradient()
- Создает линейный градиент (для использования с содержимым элемента
<canvas>
) createPattern()
- Размножает заданный элемент в заданном направлении
createRadialGradient()
- Создает радиальный/круговой градиент (для использования на содержимом элемента
<canvas>
)
Стили линий
Свойства:
lineCap
- Устанавливает/возвращает стиль концов нарисованной линии
lineJoin
- Устанавливает/возвращает тип угла, созданного пересечением двух линий
lineWidth
- Устанавливает/возвращает ширину текущей линии
miterLimit
- Устанавливает/возвращает максимальную длину среза
Прямоугольники
Методы:
clearRect()
- Очищает заданную область пикселей внутри данного прямоугольника
fillRect()
- Рисует «залитый» прямоугольник
rect()
- Создает прямоугольник
strokeRect()
- Рисует прямоугольник (без заливки)
Контуры
Методы:
arc()
- Создает дугу/кривую (используется для создания окружностей или их части)
arcTo()
- Создает дугу/кривую между двумя касательными
beginPath()
- Начинает контур или сбрасывает текущий контур
bezierCurveTo()
- Создает кубическую кривую Безье
clip()
- Обрезает область любой формы и размера, находящуюся вне указанного контура
closePath()
- Замыкает контур соединяя последнюю точку с первой
fill()
- Делает заливку текущей фигуры (контура)
isPointInPath()
- Возвращает значение
true
, если заданная точка находится внутри текущего контура, в обратном случае возвращается значениеfalse
lineTo()
- Добавляет новую точку контура и создает линию к этой точке от последней заданной точки
moveTo()
- Передвигает точку контура в заданные координаты не рисуя линию
quadraticCurveTo()
- Создает квадратичную кривую Безье
stroke()
- В действительности рисует определенный вами контур
Трансформации
Методы:
rotate()
- Поворачивает текущий графический объект
scale()
- Изменяет масштаб текущего графического объекта
setTransform()
- Сбрасывает текущую матрицу трансформации в начальное состояние, а затем вызывает метод
transform()
с теми же параметрами transform()
- Применяет заданную матрицу трансформации
translate()
- Ретранслирует позицию
(0,0)
в новое место
Текст
Свойства:
font
- Устанавливает/возвращает свойства шрифта для текстового содержимого
textAlign
- Устанавливает/возвращает выравнивание для текстового содержимого
textBaseline
- Устанавливает/возвращает базовую линию, используемую при выводе текста
Методы:
fillText()
- Рисует текст с заливкой
measureText()
- Возвращает объект, содержащий ширину заданного текста
strokeText()
- Рисует текст без заливки
Вывод изображений
Методы:
drawImage()
- Рисует изображение, содержимое другого элемента
<canvas>
или видео
Пиксельные манипуляции
Свойства:
data
- Возвращает объект, содержащий данные изображения заданного объекта
ImageData
height
- Возвращает высоту объекта
ImageData
width
- Возвращает ширину объекта
ImageData
Методы:
createImageData()
- Создает новый, пустой объект
ImageData
getImageData()
- Возвращает объект
ImageData
, который копирует пиксельные данные заданной прямоугольной области холста putImageData()
- Помещает данные изображения (из заданного объекта
ImageData
) обратно в элемент<canvas>
Компоновка
Свойства:
globalAlpha
- Устанавливает/возвращает текущее значение прозрачности или альфа-канала графического объекта
globalCompositeOperation
- Устанавливает/возвращает то, как исходное (новое) изображение нарисовано на целевом (существующем) изображении
Другое
Методы:
save()
- Сохраняет состояние текущего контекста
restore()
- Возвращает ранее сохраненное состояние и атрибуты
createEvent()
getContext()
- Возвращает контекст рисования на холсте
toDataURL()
- Возвращает URI данных, содержащий представление изображения в формате, заданном параметром типа
как социальному стартапу составить бизнес-модель
Lean Canvas – это шаблон для построения бизнес-модели. С помощью простой таблицы, которая состоит из нескольких блоков, можно описать проект и пути его развития. Сделать таблицу можно самостоятельно или заполнить один из готовых онлайн-шаблонов. За основу также можно взять шаблон, созданный Александром Остервальдером и Ивом Пенье.
Эксперты разделили весь бизнес-процесс на несколько блоков.
- Потребительские сегменты. Определите, каких клиентов вы хотите привлечь, какие их потребности сможете решить. Если ваш проект нишевый, то и потребительские сегменты у вас будут четко очерчены.
- Ценностные предложения. После того как вы описали ваших клиентов, подумайте, какие услуги или товары представляют ценность именно для них. Опишите ваши преимущества, которые выделят вас в глазах людей.
- Каналы взаимодействия. Вы поняли, какая у вас ценность, а теперь нужно рассказать о ней вашим клиентам. Опишите, как вы будете общаться с людьми и предлагать им ваши услуги или товары. Каналы могут быть прямые и непрямые, а также собственные и партнерские.
- Взаимоотношения с потребителем. Подумайте, как вы будете выстраивать контакт с вашими клиентами. Например, люди будут общаться с вами напрямую, за каждым клиентом будет закреплен сотрудник проекта. Или, наоборот, они будут полностью самостоятельно совершать все действия, а общаться между собой потребители смогут в вашем онлайн-сообществе.
- Финансовая устойчивость. Оцените, как ваш проект будет приносить прибыль. Будут ли какие-то услуги платные, может быть, пользователи смогут оформлять подписку с расширенными опциями. А может быть, вы сможете размещать рекламу или продавать лицензию.
- Ключевые ресурсы. Распишите все активы, которые есть у вас в наличии. К ним будут относиться оборудование и другие материальные ресурсы, специалисты, которые работают над проектом, интеллектуальная собственность и денежные средства.
- Ключевые виды деятельности. Это то, какие действия вы будете совершать для реализации вашей работы. В них сосредотачивается основная квалификация команды: разработка алгоритмов, консультирование клиентов, написание статей, организация событий.
- Ключевые партнеры. Это сеть компаний и людей, которая будет помогать вам в работе. Партнерские отношения помогают привлечь дополнительные ресурсы. Подумайте, может быть, у вас есть конкуренты, с которыми вы могли бы также вступить в стратегическое партнерство, ведь в конечном счете ваша работа будет направлена на благо общества, а значит, совместными усилиями принесет больше пользы.
- Структура затрат. Подумайте, какие вас ждут расходы и издержки. Они могут меняться или не меняться в зависимости от объема товаров или услуг. Издержки также могут снижаться в результате увеличения выпуска продукции или в результате большего спектра операций.
Более подробно о построении бизнес-моделей можно прочитать в следующих книгах:
Однако стоит учитывать, что эту схему в своей работе используют коммерческие компании. Бизнес-модель социального стартапа имеет свои особенности. Таблицу Остервальдера и Пенье можно взять за основу и добавить в нее те пункты, которые делают ваш проект уникальным. Например, блок, описывающий то социальное влияние, которое оказывает проект.
При составлении бизнес-модели социального стартапа можно ориентироваться на шаблон Social Lean Canvas.
Авторы шаблона на русском языке: Екатерина Ульянова и Николай Лебедев.Шаблон можно скачать по ссылке.
холст-конструктор — нпм
Цепной класс ES6 для узла-холста со встроенными утилитами.
Установка
Пожалуйста, проверьте файл readme для узла и холста для установки. У вас должен быть установлен и работает Canvas перед использованием этого пакета.
Как пользоваться:
Node. js :
const {Canvas} = require ('холст-конструктор');
новый Canvas (300, 300)
.setColor ('# AEFD54')
.printRectangle (5, 5, 290, 290)
.setColor ('# FFAE23')
.setTextFont ('28px Impact')
.printText ('Hello World!' , 130, 150)
.toBuffer ();
Браузер :
const canvasElement=document.getElementById('холст');
новый CanvasConstructor.Canvas(canvasElement)
.setColor('# AEFD54')
.printRectangle(5,5,290,290)
.setColor('# FFAE23')
.setTextFont('28px Impact')
.printText('Привет, мир!',130,150);
- Это создаст холст размером 300 пикселей в ширину и 300 пикселей в высоту.
- Установите цвет на # AEFD54
- Нарисуйте прямоугольник предыдущего цвета, покрыв все пиксели от (5, 5) до (290 + 5, 290 + 5)
- Установите цвет на # FFAE23
- Установите размер шрифта 28 пикселей с помощью шрифта Impact.
- Напишите текст «Hello World!» в позиции (130, 150)
- Вернуть буфер.
Теперь предположим, что мы хотим добавить изображения, мы будем использовать Canvas.resolveImage
, который работает как в Node.js, так и в браузере:
const {Canvas} = require ('холст-конструктор');
асинхронная функция createCanvas () {
const image = await Canvas.resolveImage ('./ images / kitten.png');
вернуть новый холст (300, 400)
.printImage (image, 0, 0, 300, 400)
.setColor ('# FFAE23')
.setTextFont ('28px Impact')
.setTextAlign ('center')
.printText ('Котенок!' , 150, 370)
.toBufferAsync ();
}
- Это создаст холст размером 300 пикселей в ширину и 400 пикселей в высоту.
- Нарисуйте изображение с учетом буфера (изображение из папки изображений).
- Установите цвет на # FFAE23
- Установите размер шрифта 28 пикселей с помощью шрифта Impact.
- Установите выравнивание текста по центру.
- Напишите текст «Котенок!» в позиции (150, 370)
- Вернуть буфер.
А теперь вы создали изображение с котенком на заднем плане и центрированным текстом внизу.
Если у вас возникли проблемы с Canvas или вы хотите его установить, обратитесь к репозиторию холста, если вы считаете, что нашли проблему в этом пакете, не стесняйтесь сообщать о проблеме здесь или делать запрос на вытягивание, если у вас есть исправить.
Холст | холст-конструктор
Холст | холст-конструкторИерархия
Индекс
Конструкторы
Аксессуары
Методы
Конструкторы
конструктор
- новый
Холст (холст: HTMLCanvasElement): Холст - новый
Холст (ширина: номер, высота: номер, тип ?: «pdf» | «svg»): Холст
Параметры
холст: HTMLCanvasElement
Холст возврата
Параметры
ширина: номер
высота: номер
Дополнительный тип: «pdf» | «svg»
Холст возврата
Аксессуары
высота
- получить высоту (): число
- установить высоту (значение: число): void
Номер возврата
Параметры
Возвраты недействительны
строка
текст
- получить textFontHeight (): число
ширина
- получить ширину (): число
- установить ширину (значение: число): void
Номер возврата
Параметры
Возвраты недействительны
Методы
дуга
- arc (x: число, y: число, радиус: число, startAngle: число, endAngle: число, против часовой стрелки ?: undefined | false | true): это
Параметры
x: номер
у: номер
радиус: число
startAngle: число
endAngle: число
Необязательно против часовой стрелки: undefined | ложь | правда
Возвращает
дуга
- arc
To (x1: число, y1: число, x2: число, y2: число, радиус: число): это
Параметры
x1: число
y1: номер
x2: число
y2: номер
радиус: число
Возвращает
начало
Безье
- Безье
Кривая Кому (cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): this
Параметры
cp1x: номер
cp1y: номер
cp2x: номер
cp2y: номер
x: номер
у: номер
Возвращает
изменить
- изменить
Холст Высота (высота: число): это
изменить
- изменить
Холст Размер (ширина: число, высота: число): это
Параметры
ширина: номер
высота: номер
Возвращает
изменить
- изменить
Холст Ширина (ширина: число): это
прозрачный
- очистить
Круг (x: число, y: число, радиус: число, начало ?: число, угол ?: число, против часовой стрелки ?: логическое): this
Параметры
x: номер
у: номер
радиус: число
Начало значения по умолчанию: число = 0
Угол по умолчанию: число = Math.
ПИ * 2Значение по умолчанию против часовой стрелки: boolean = false
Возвращает
прозрачный
- clear
Rectangle (dx ?: number, dy ?: number, width ?: number, height ?: number): this
Параметры
Значение по умолчанию dx: number = 0
Значение по умолчанию dy: number = 0
Ширина значения по умолчанию: число = это.ширина
Значение по умолчанию height: number = this.height
Возвращает
зажим
- клип (fillRule ?: CanvasFillRule): это
Параметры
Необязательный fillRule: CanvasFillRule
Возвращает
закрыть
create
- create
Circular Clip (dx: number, dy: number, radius: number, start ?: undefined | number, angle ?: undefined | number, против часовой стрелки ?: undefined | false | true): this
Параметры
dx: номер
dy: номер
радиус: число
Необязательное начало: undefined | число
Дополнительный угол: неопределенный | число
Необязательно против часовой стрелки: undefined | ложь | правда
Возвращает
создать
- создать
Круговой Путь (dx: число, dy: число, радиус: число, начало ?: число, угол ?: число, против часовой стрелки ?: логическое значение): this
Параметры
dx: номер
dy: номер
радиус: число
Начало значения по умолчанию: число = 0
Угол по умолчанию: число = Math.
ПИ * 2Значение по умолчанию против часовой стрелки: boolean = false
Возвращает
создать
- создать
Эллипс Клип (x: число, y: число, радиусX: число, радиусY: число, вращение: число, startAngle: число, endAngle: число, против часовой стрелки ?: undefined | false | true): this
Параметры
x: номер
у: номер
radiusX: число
radiusY: число
вращение: номер
startAngle: число
endAngle: число
Необязательно против часовой стрелки: undefined | ложь | правда
Возвращает
создать
- создать
Эллипс Путь (x: число, y: число, радиусX: число, радиусY: число, вращение: число, startAngle: число, endAngle: число, против часовой стрелки ?: undefined | false | true): this
Параметры
x: номер
у: номер
radiusX: число
radiusY: число
вращение: номер
startAngle: число
endAngle: число
Необязательно против часовой стрелки: undefined | ложь | правда
Возвращает
создать
- создать
Линейный Градиент (x0: число, y0: число, x1: число, y1: число, шаги ?: keyof GradientStop []): CanvasGradient
Параметры
x0: число
y0: номер
x1: число
y1: номер
Шаг значений по умолчанию: keyof GradientStop [] = []
Возвращает CanvasGradient
создать
Параметры
Возвращает CanvasPattern
Параметры
Возвращает
создать
- создать
Радиальный Градиент (x0: число, y0: число, r0: число, x1: число, y1: число, r1: число, шаги ?: keyof GradientStop []): CanvasGradient
Параметры
x0: число
y0: номер
r0: номер
x1: число
y1: номер
r1: номер
Шаг значений по умолчанию: keyof GradientStop [] = []
Возвращает CanvasGradient
создать
- создать
Прямоугольник Клип (x: число, y: число, ширина: число, высота: число): это
Параметры
x: номер
у: номер
ширина: номер
высота: номер
Возвращает
создать
- создать
Прямоугольник Путь (x: число, y: число, ширина: число, высота: число): это
Параметры
x: номер
у: номер
ширина: номер
высота: номер
Возвращает
создать
- создать
Закругленный Клип (x: число, y: число, ширина: число, высота: число, радиус: число | BeveledRadiusOptions): this
создать
- создать
Закругленный Путь (x: число, y: число, ширина: число, высота: число, радиус: число | BeveledRadiusOptions): this
заливка
- fill (fillRule ?: CanvasFillRule): это
Параметры
Необязательный fillRule: CanvasFillRule
Возвращает
получить
- получить
Изображение Данные (): ImageData - получить
Изображение Данные (обратный вызов: ImageDataCallback): это - получить
Изображение Данные (x: число, y: число, ширина: число, высота: число): ImageData - получить
Изображение Данные (x: число, y: число, ширина: число, высота: число, обратный вызов: ImageDataCallback): это
Возвращает ImageData
Параметры
Возвращает
Параметры
x: номер
у: номер
ширина: номер
высота: номер
Возвращает ImageData
Параметры
Возвращает
получить
— это точка
- — это
Точка InPath (x: число, y: число, fillRule ?: CanvasFillRule): логическое
Параметры
x: номер
у: номер
Необязательный fillRule: CanvasFillRule
Возвращает логическое значение
— это
- — это
Точка InStroke (x: number, y: number): логическое
Параметры
Возвращает логическое значение
линия
- строка
Кому (x: число, y: число): это
мера
- мера
Текст (текст: строка): TextMetrics - мера
Текст (текст: строка, обратный вызов: MeasureTextCallback): это
Параметры
Возвращает TextMetrics
Параметры
Возвращает
переместить
- переместить
Кому (x: число, y: число): это
печать
- печать
Круг (x: число, y: число, радиус: число): это
Параметры
x: номер
у: номер
радиус: число
Возвращает
печать
- print
Circular Image (imageOrBuffer: ImageResolvable, x: number, y: number, radius: number, __ namedParameters ?: {fit: «fill» | «contain» | «cover» | «none»}): this
Параметры
imageOrBuffer: ImageResolvable
x: номер
у: номер
радиус: число
Значение по умолчанию __ namedParameters: {fit: «fill» | «содержать» | «крышка» | «none»} = {}
подходит: «заливка» | «содержать» | «крышка» | «нет»
Возвращает
печать
- print
Image (imageOrBuffer: ImageResolvable, x: number, y: number): это - print
Image (imageOrBuffer: ImageResolvable, x: number, y: number, width: number, height: number): это - print
Image (imageOrBuffer: ImageResolvable, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): this
Параметры
Возвращает
Параметры
imageOrBuffer: ImageResolvable
x: номер
у: номер
ширина: номер
высота: номер
Возвращает
Параметры
imageOrBuffer: ImageResolvable
sx: номер
sy: номер
sw: номер
ш: номер
dx: номер
dy: номер
dw: номер
dh: номер
Возвращает
печать
- print
Linear Color Gradient (x0: number, y0: number, x1: number, y1: number, steps ?: keyof GradientStop []): this
Параметры
x0: число
y0: номер
x1: число
y1: номер
Дополнительные шаги: клавиша GradientStop []
Возвращает
печать
- print
Linear Stroke Gradient (x0: number, y0: number, x1: number, y1: number, steps ?: keyof GradientStop []): this
Параметры
x0: число
y0: номер
x1: число
y1: номер
Дополнительные шаги: клавиша GradientStop []
Возвращает
печать
- print
Multiline Text (text: string, x: number, y: number): this
Параметры
текст: строка
x: номер
у: номер
Возвращает
печать
принт
- print
Radial Color Gradient (x0: number, y0: number, r0: number, x1: number, y1: number, r1: number, steps ?: keyof GradientStop []): this
Параметры
x0: число
y0: номер
r0: номер
x1: число
y1: номер
r1: номер
Дополнительные шаги: клавиша GradientStop []
Возвращает
печать
- print
Radial Stroke Gradient (x0: number, y0: number, r0: number, x1: number, y1: number, r1: number, steps ?: keyof GradientStop []): this
Параметры
x0: число
y0: номер
r0: номер
x1: число
y1: номер
r1: номер
Дополнительные шаги: клавиша GradientStop []
Возвращает
печать
- печать
Прямоугольник (x: число, y: число, ширина: число, высота: число): это
Параметры
x: номер
у: номер
ширина: номер
высота: номер
Возвращает
печать
- print
Responsive Text (text: string, x: number, y: number, maxWidth: number): this
Параметры
текст: строка
x: номер
у: номер
maxWidth: номер
Возвращает
принт
принт
- print
Rounded Rectangle (x: number, y: number, width: number, height: number, radius: number | BeveledRadiusOptions): this
печать
- печать
Штрих Прямоугольник (x: число, y: число, ширина: число, высота: число): это
Параметры
x: номер
у: номер
ширина: номер
высота: номер
Возвращает
печать
- print
Stroke Text (text: string, x: number, y: number, maxWidth ?: undefined | number): this
Параметры
текст: строка
x: номер
у: номер
Необязательный maxWidth: undefined | число
Возвращает
печать
- print
Text (text: string, x: number, y: number, maxWidth ?: undefined | number): this
Параметры
текст: строка
x: номер
у: номер
Необязательный maxWidth: undefined | число
Возвращает
печать
- print
Wrapped Text (text: string, x: number, y: number, wrapWidth: number): this
Параметры
текст: строка
x: номер
у: номер
ширина пленки: номер
Возвращает
процесс
- процесс (fn: (this: Canvas, canvas: Canvas) => unknown): this
- процесс
(fn: (this: Canvas, canvas: Canvas, arg1: P1) => unknown, arg1: P1): this - process
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2) => unknown, arg1: P1, arg2: P2): this - process
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3) => unknown, arg1: P1, arg2: P2, arg3: P3): это - process
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4) => unknown, arg1: P1, arg2: P2 , arg3: P3, arg4: P4): это - процесс
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5) => unknown, arg1 : P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5): это - process
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6 ) => неизвестно, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6): this - process
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6 : P6, arg7: P7) => unknown, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7): this - process
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5 , arg6: P6, arg7: P7, arg8: P8) => unknown, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7, arg8: P8): это - process
(fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5 : P5, arg6: P6, arg7: P7, arg8: P8, arg9: P9) => unknown, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7 , arg8: P8, arg9: P9): это - process
(fn: (this: Canvas, canvas: Canvas,. ..args: keyof T []) => unknown, … args: keyof T []): это
Параметры
fn: (this: Canvas, canvas: Canvas) => unknown
Параметры
Возврат неизвестен
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1) => unknown
Параметры
Возвраты неизвестны
arg1: P1
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2) => unknown
Параметры
Возврат неизвестен
arg1: P1
аргумент2: P2
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3) => unknown
- (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3): unknown
Параметры
Возврат неизвестен
arg1: P1
аргумент2: P2
arg3: P3
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4) => unknown
- (это: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4): unknown
Параметры
это: Холст
холст: Холст
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
Возврат неизвестен
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5) => unknown
- (это: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5): unknown
Параметры
это: Холст
холст: Холст
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
Возврат неизвестен
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6) => unknown
- (это: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6): unknown
Параметры
это: Холст
холст: Холст
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
Возврат неизвестен
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7) => unknown
- (это: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7): unknown
Параметры
это: Холст
холст: Холст
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
arg7: P7
Возврат неизвестен
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
arg7: P7
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7, arg8: P8) => unknown
- (это: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7, arg8: P8): unknown
Параметры
это: Холст
холст: Холст
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
arg7: P7
arg8: P8
Возврат неизвестен
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
arg7: P7
arg8: P8
Возвращает
Параметры типа
П1
P2
П3
П4
П5
P6
П7
П8
П9
Параметры
fn: (this: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7, arg8: P8, arg9: P9) => неизвестно
- (это: Canvas, canvas: Canvas, arg1: P1, arg2: P2, arg3: P3, arg4: P4, arg5: P5, arg6: P6, arg7: P7, arg8: P8, arg9: P9): unknown
Параметры
это: Холст
холст: Холст
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
arg7: P7
arg8: P8
arg9: P9
Возврат неизвестен
arg1: P1
аргумент2: P2
arg3: P3
arg4: P4
arg5: P5
arg6: P6
arg7: P7
arg8: P8
arg9: P9
Возвращает
Параметры типа
Параметры
fn: (this: Canvas, canvas: Canvas,.
..args: keyof T []) => unknownПараметры
Возврат неизвестен
Остальные … аргументы: keyof T []
Возвращает
положить
- положить
Изображение Данные (imagedata: ImageData, dx: number, dy: number): это - положить
Image Data (imagedata: ImageData, x: number, y: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): this
Параметры
изображения: ImageData
dx: номер
dy: номер
Возвращает
Параметры
изображения: ImageData
x: номер
у: номер
dirtyX: номер
dirtyY: номер
dirty Ширина: номер
dirty Высота: номер
Возвращает
квадратичная
- квадратичная
Кривая To (cpx: number, cpy: number, x: number, y: number): this
Параметры
cpx: номер
коп: номер
x: номер
у: номер
Возвращает
сброс
сброс
- сбросить
Преобразование (): это
восстановление
повернуть
- повернуть (угол: число): это
экономия
масштаб
- масштаб (x: число, y: число): это
установить
набор
- set
Color (color: string | CanvasGradient | CanvasPattern): этот
Параметры
цвет: шнурок | CanvasGradient | Холст
Возвращает
набор
- установить
Global Alpha (значение: число): это
набор
комплект
- set
Line Cap (value: CanvasLineCap): это
набор
- set
Line Dash (сегменты: число []): это
набор
- set
Line Dash Offset (value: number): this
набор
- set
Line Join (value: CanvasLineJoin): это
комплект
- set
Line Width (width: number): это
набор
- установить
Угол Предел (значение: число): это
набор
набор
- set
Shadow Blur (radius: number): this
набор
- набор
Тень Цвет (цвет: нить): этот
комплект
- set
Shadow OffsetX (значение: число): this
набор
- set
Shadow OffsetY (значение: число): this
комплект
- set
Stroke (color: string | CanvasGradient | CanvasPattern): это
Параметры
цвет: шнурок | CanvasGradient | Холст
Возвращает
комплект
- набор
Ход Ширина (ширина: число): это
набор
- set
Text Align (align: CanvasTextAlign): это
набор
- set
Text Baseline (baseline: CanvasTextBaseline): это
Параметры
базовый уровень: CanvasTextBaseline
Возвращает
набор
набор
- set
Text Font (font: string): this
набор
- набор
Текст Размер (размер: число): это
набор
- set
Transform (a: number, b: number, c: number, d: number, e: number, f: number): this - установить
Transform (преобразовать ?: DOMMatrix): это
Параметры
а: номер
б: номер
c: номер
д: номер
e: номер
ф: номер
Возвращает
Параметры
Дополнительное преобразование: DOMMatrix
Возвращает
ход
Спо
- с
- по
Blob (обратный вызов: BlobCallback, тип ?: undefined | строка, качество ?: любое): void
Параметры
- Обратный вызов
: BlobCallback
Дополнительный тип: undefined | строка
Дополнительное качество: любое
Возврат недействителен
- Обратный вызов
по
- с
- по
Blob Async (тип ?: undefined | строка, качество ?: любое): Promise
Параметры
Дополнительный тип: undefined | строка
Дополнительное качество: любое
Возвращает обещание
по
- от
- до
Буфер (): Буфер Буфер с - по
(mimeType: «image / png», config ?: PngConfig): Buffer Буфер с - по
(mimeType: «image / jpeg», config ?: JpegConfig): Buffer Буфер с - по
(mimeType: «application / pdf», config ?: PdfConfig): Buffer Буфер с - по
(mimeType: «raw»): Buffer
Буфер возврата
Параметры
mimeType: «image / png»
Дополнительная конфигурация: PngConfig
Буфер возврата
Параметры
mimeType: «image / jpeg»
Дополнительная конфигурация: JpegConfig
Буфер возврата
Параметры
mimeType: «application / pdf»
Дополнительная конфигурация: PdfConfig
Буфер возврата
Параметры
Буфер возврата
по
- с
- по
Буфер Async (): Promise - –
Буфер Async (mimeType: «image / png», config ?: PngConfig): Promise - –
Buffer Async (mimeType: «image / jpeg», config ?: JpegConfig): Promise С - по
Buffer Async (mimeType: «application / pdf», config ?: PdfConfig): Promise
Возвращает обещание
<буфер>Параметры
mimeType: «image / png»
Дополнительная конфигурация: PngConfig
Возвращает обещание
<буфер>Параметры
mimeType: «image / jpeg»
Дополнительная конфигурация: JpegConfig
Возвращает обещание
<буфер>Параметры
mimeType: «application / pdf»
Дополнительная конфигурация: PdfConfig
Возвращает обещание
<буфер>
по
- с
- по
DataURL (): строка - –
DataURL (mimeType: «image / png»): строка - –
DataURL (mimeType: «изображение / jpeg», качество ?: undefined | number): строка
Возвращает строку
Параметры
Возвращает строку
Параметры
mimeType: «image / jpeg»
Дополнительное качество: undefined | число
Возвращает строку
по
- с
- по
DataURLAsync (): Promise - –
DataURLAsync (mimeType: «image / png»): Promise С - по
DataURLAsync (mimeType: «image / jpeg»): Promise С - по
DataURLAsync (mimeType: «image / jpeg», config: JpegConfig): Promise - –
DataURLAsync (mimeType: «изображение / jpeg», качество: число): Promise
Returns Promise
Параметры
Returns Promise
Параметры
Returns Promise
Параметры
mimeType: «image / jpeg»
- Конфигурация
: JpegConfig
Returns Promise
Параметры
mimeType: «image / jpeg»
качество: номер
Returns Promise
перевести
- translate (x: number, y: number): это
обертка
- wrap
Text (text: string, wrapWidth: number): string - wrap
Text (text: string, wrapWidth: number, callback: WrapTextCallback): это
Параметры
текст: строка
ширина пленки: номер
Возвращает строку
Параметры
Возвращает
Легенда
- Конструктор
- Метод
- Аксессуар
bd или ширина границы | Ширина границы по внешней стороне холст; см. Раздел 5.1, «Размеры». В по умолчанию — два пикселя. |
bg или фон | Цвет фона
холст. По умолчанию это светло-серый цвет, примерно '# E4E4E4' . |
близко | Число с плавающей запятой , которое указывает, насколько близко
мышь должна быть к элементу, чтобы считаться внутри него.По умолчанию 1.0. |
ограничить | Если true (по умолчанию), холст не может быть
прокручивается за пределами области прокрутки (Смотри ниже). |
курсор | Курсор, используемый на холсте. См. Раздел 5.8, «Курсоры». |
высота | Размер холста по оси Y.См. Раздел 5.1, «Размеры». |
основной фон | Цвет выделения фокуса, когда виджет делает нет фокуса. См. Раздел 53, «Фокус: маршрутизация ввода с клавиатуры». |
цвет подсветки | Цвет показан в фокус выделять. |
толщина слоя | Толщина фокуса выделять. Значение по умолчанию — 1. |
рельеф | Рельефный стиль полотна. По умолчанию tk. FLAT . См. Раздел 5.6, «Стили рельефа». |
область прокрутки | Кортеж ( , который определяет
насколько большой можно прокрутить холст,
куда это левая сторона, вершина, правая сторона, и дно. |
выбрать фон | Цвет фона использовать отображение выбранных элементов. |
selectborderwidth | Ширина границы для использования вокруг выбранного Предметы. |
selectforeground | Цвет переднего плана использовать отображение выбранных элементов. |
Takefocus | Обычно фокус (см. Раздел 53, «Фокус: маршрутизация ввода с клавиатуры»)
будет циклически проходить через этот виджет с помощью клавиши табуляции
только если для него установлены привязки клавиатуры (см. Раздел 54, «События» для обзора
привязки клавиатуры). Если вы установите для этого параметра значение 1,
focus всегда будет посещать этот виджет. Установите его на '' , чтобы получить поведение по умолчанию. |
ширина | Размер холста по оси X. См. Раздел 5.1, «Размеры». |
xscrollincrement | Обычно холсты можно прокручивать по горизонтали, чтобы
любое положение. Вы можете получить такое поведение, установив xscrollincrement до нуля. если ты
установите для этого параметра некоторое положительное измерение, холст
могут быть размещены только на кратных
расстояние, и значение будет использоваться для прокрутки
на единицы прокрутки , например
когда пользователь нажимает стрелки на концах
полоса прокрутки.Для получения дополнительной информации о прокрутке
единиц, см. Раздел 22, «Виджет Полоса прокрутки ». |
xscrollcommand | Если холст можно прокручивать, установите для этого параметра значение .set () метод горизонтального
полоса прокрутки. |
yscrollincrement | Работает как xscrollincrement , но
управляет вертикальным движением. |
yscrollcommand | Если холст можно прокручивать, этот параметр должен быть .set () метод вертикальной полосы прокрутки. |
Холст модуля — PyX 0.15 Руководство
Кроме того
содержит класс canvas.clip
, который позволяет обрезать вывод.
Это базовый класс модуля холста. Экземпляры этого класса собирают
визуальные элементы, такие как пути, другие холсты, элементы TeX или LaTeX.Холст может
также быть встроенным в другой, используя метод вставки
. Это может быть полезно
когда вы хотите применить преобразование ко всему набору операций.
- класс
холст.
холст
( attrs = [] , texrunner = None , ipython_bboxenlarge = 1 * unit.t_pt ) Создайте новый холст, применив заданные атрибуты , которые могут быть экземплярами
trafo.trafo
,холст.клип
, стиль.strokestyle
илистиль. Заполнение
. Аргумент texrunner может использоваться для указания Экземпляр texrunner, используемый для методаtext ()
холста. Если не указано, по умолчанию используется text.defaulttexrunner . ipython_bboxenlarge определяет bboxenlargedocument.page
для IPython _repr_png_ и _repr_svg_ .
Пути можно нарисовать на холсте одним из следующих способов:
-
холст.
рисовать
( путь , attrs ) Рисует путь на холсте, применяя заданные атрибуты . В зависимости от attrs путь будет заполнен, обведен, орнаментирован или их комбинация из них. Для общих первых двух случаев следующие два удобства предоставляются функции.
-
холст.
заполнить
( путь , attrs = [] ) Заполняет заданный путь на холсте, применяя заданные атрибуты .
-
холст.
ход
( путь , attrs = [] ) Обводит заданный путь на холсте, применяя заданные атрибуты .
Произвольные разрешенные элементы, такие как другие холсты Можно вставить
экземпляров
в холсте с использованием
-
холст.
вставка
( поз. , attrs = [] ) Вставляет экземпляр базы
.Canvasitem
в холст. Если attrs являются в настоящее время элемент вставлен в новый экземплярcanvas
с атрибутом как аргументы, переданные его конструктору. Затем этот экземплярcanvas
вставляется в холст.
Вывод текста на холст возможен с помощью
-
холст.
текст
( x , y , текст , attrs = [] ) Вставляет текста в позицию ( x , y ) на холст, применяя атрибуты .Это ярлык для вставки
(texrunner.text (x, y, text, attrs))
.
Для группировки операций рисования можно использовать слои:
-
холст.
слой
( имя , вверху = нет , внизу = нет ) Этот метод создает или получает слой с именем и именем .
Слой сам по себе является холстом и может использоваться для объединения операций рисования для цели упорядочивания, то есть то, что находится выше и ниже друг друга.Имя слоя имя — пунктирная строка, где точки используются для формирования иерархии слоев группы. При вставке слоя он помещается поверх своей группы слоев, кроме когда другой экземпляр слоя этой группы указан с помощью параметры выше или ниже .
Класс canvas
обеспечивает доступ к общему геометрическому размеру его
элемент:
-
холст.
bbox
() Возвращает ограничивающую рамку, охватывающую все элементы холста (см. Разд.
bbox
).
Canvas также позволяет установить его TeX runner:
-
холст.
settexrunner
( texrunner ) Устанавливает новый texrunner для полотна.
Содержимое холста можно записать в файл, используя следующие удобные методы, которые превращают холст в одностраничный документ.
-
холст.
writeEPSfile
( файл , ** kwargs ) Записывает холст в файл с использованием формата EPS. файл либо должен предоставить write или используется как строка, содержащая имя файла (расширение
.eps
добавляется автоматически, если его нет). Этот способ создает одностраничный документ, передавая kwargs вdocument.page
конструктор для всех kwargs , начиная сpage_
(без этого префикса) и вызывает методwriteEPSfile ()
этогоdocument.document
экземпляр, передающий файл и все kwargs начиная сwrite_
(без этого префикса).
-
холст.
writePSfile
( файл , * args , ** kwargs ) Аналогично
writeEPSfile ()
, но с использованием формата PS.
-
холст.
writePDFile
( файл , * args , ** kwargs ) Аналогично
writeEPSfile ()
, но с использованием формата PDF.
-
холст.
writeSVGfile
( файл , * args , ** kwargs ) Аналогично
writeEPSfile ()
, но с использованием формата SVG.
-
холст.
записать файл
( имя файла , * args , ** kwargs ) Определите тип файла (EPS, PS, PDF или SVG) по расширению файла имя файла и вызвать соответствующий метод записи с заданными аргументами arg и кваргс .
-
холст.
pipeGS
( устройство , разрешение = 100 , gscmd = «gs» , gsoptions = [] , textalphabits = 4 , graphicsalphabits = 4 , ciecolor = False3 , ввод = «eps» , ** kwargs ) Этот метод передает содержимое холста интерпретатору ghostscript для создания других форматов вывода. Результат возвращается с помощью объект python BytesIO. устройство определяет устройство вывода ghostscript с помощью строка. В зависимости от конфигурации ghostscript
"png16"
,"png16m"
,"png256"
,"png48"
,"pngalpha"
,"pnggray"
,«pngmono»
,«jpeg»
и«jpeggray»
могут быть доступны среди другие. См. Вывод командыgs --help
и документацию ghostscript. для дополнительной информации.разрешение указывает разрешение в dpi (точек на дюйм). GS — это имя исполняемого файла ghostscript. gsoptions — это список дополнительных параметры, переданные интерпретатору ghostscript. текстовых алфавита и graphicsalphabits — удобные параметры для установки
TextAlphaBits
иGraphicsAlphaBits
опции ghostscript. Добавление этих параметры можно пропустить, установив для них значениеНет
. ciecolor добавляет флаг-dUseCIEColor
для улучшения преобразования цветов CMYK в RGB. ввод может быть"eps"
или"pdf"
, чтобы выбрать тип ввода, который будет передается в ghostscript (обратите внимание на несколько другие функции, доступные в различные типы ввода, например,epsfile
включение и прозрачность).kwargs передаются методу
writeEPSfile ()
(не считая файла параметр), который используется для генерации входных данных для ghostscript. Этим вы получить доступ к документу.стр.
аргументы конструктора.
-
холст.
writeGSfile
( filename = None , device = None , ** kwargs ) Этот метод похож на pipeGS, но содержимое записывается в файл имя файла . Если имя файла равно None, оно автоматически определяется по имени скрипта. Если имя файла — «-», вывод записывается в стандартный вывод. В обоих случаях устройство необходимо указать для определения формата (и суффикса файла в случае filename создается из имени скрипта).
Если для устройства задано значение None, но указано имя файла с суффиксом, файлы PNG будут быть записанными с помощью устройства png16m и файлов JPG с помощью устройства jpeg.
Все остальные аргументы идентичны аргументам
canvas.pipeGS ()
.
Для получения дополнительной информации о возможных аргументах документа . Стр.
конструктор, мы ссылаемся на разд. документ
.
Как создать и сохранить изображение с помощью Node.js и Canvas
Всего несколько дней до 2021 JavaScript Full-Stack Bootcamp откроется.
Записывайтесь в лист ожидания!
Я делюсь своими сообщениями в блоге в Twitter, и было время, когда я развлекался рисованием изображения для каждого сообщения в блоге.
Я настроил Hugo так, чтобы он использовал изображение с именем banner.png
или banner.jpg
, хранящееся в папке сообщений, для использования в качестве изображения Open Graph, например:
Если в посте нет изображения, я показываю свой аватар:
Возникла проблема: я давно перестал создавать эти пользовательские изображения для баннеров, и у большинства моих сообщений нет баннера.
В Твиттере все они выглядят одинаково:
У меня под рукой не может быть больше 500 баннерных изображений. У меня возникла эта мысль о создании их программным способом с тех пор, как я увидел, как инди-хакеры генерируют эти изображения для сообщений в блогах на форуме (отличная идея):
Итак, наткнувшись на приятное вдохновение для изображения баннера, я решил сделать собственный баннер для каждого сообщения в моем блоге.
Баннер представляет собой изображение в формате PNG, и чтобы сообщение было сосредоточено на теме («как создать и сохранить изображение с помощью Node.js и Canvas»), я пропущу некоторые части.
Кроме того, есть много разных способов делать то, что я делал, вот только один.
Прежде всего, какие пакеты npm нам нужны?
Всего один! холст
:
npm установить холст
Этот пакет предоставляет нам реализацию Canvas API на основе Node.js, которую мы знаем и любим в браузере.
Другими словами, все, что я использую для создания изображений, также работает в браузере.
За исключением того, что вместо получения экземпляра Canvas из HTML-элемента , я загружаю библиотеку, получаю из нее функцию
createCanvas
:
const {createCanvas} = require ('холст')
Затем я вызываю эту функцию, передавая ширину и высоту холста, которые я установил на 1200×600:
const ширина = 1200
const height = 600
const холст = createCanvas (ширина, высота)
const context = холст.getContext ('2d')
Покрасим его в черный цвет (случайно уронив отсылку к Rolling Stones):
context.fillStyle = '#fff'
context.fillRect (0, 0, ширина, высота)
А теперь перейдем к добавлению текста.
Сначала я выбираю шрифт Menlo, большой и жирный. Выравниваю по центру, затем устанавливаю белый цвет.
Наконец, я вызываю context.fillText ()
, чтобы нарисовать текст на холсте:
const text = 'Привет, мир!'
контекст.font = 'bold 70pt Menlo'
context.textAlign = 'центр'
context.fillStyle = '#fff'
context.fillText (текст, 600, 170)
Нарисуем синюю рамку позади текста:
const text = 'Привет, мир!'
context.textBaseline = 'вверху'
context.fillStyle = '# 3574d4'
const textWidth = context.measureText (текст) .width
context.fillRect (600 - textWidth / 2-10, 170-5, textWidth + 20, 120)
context.fillStyle = '#fff'
context.fillText (текст, 600, 170)
Мы установили для свойства textBaseline
значение top
, чтобы упростить позиционирование прямоугольника.Затем я проверяю размер текста, используя measureText ()
, и рисую его, используя те же координаты, которые мы использовали для рисования текста.
Убедитесь, что вы рисуете прямоугольник перед текстом, потому что в Canvas вы рисуете объекты друг на друге в следующем порядке:
Круто! Теперь я хочу показать внизу URL своего веб-сайта:
context.fillStyle = '#fff'
context.font = 'жирный, 30 пунктов, Menlo'
context.fillText ('flaviocopes.com', 600, 530)
И еще хочу добавить свой логотип.Для этого давайте импортируем функцию loadImage
из модуля Canvas
:
const {createCanvas, loadImage} = require ('холст')
, и мы называем это указанием изображения logo.png
, содержащегося в той же папке, где мы запускаем скрипт:
loadImage ('./ logo.png'). Then (image => {
})
Как только обещание разрешено, у нас есть объект изображения, и мы можем нарисовать его на холсте с помощью drawImage ()
:
loadImage ('./logo.png').then(image => {
context.drawImage (изображение, 340, 515, 70, 70)
})
Вот и все! Теперь мы можем сохранить изображение в файл image.png
, используя метод toBuffer ()
:
const buffer = canvas.toBuffer ('изображение / png')
fs.writeFileSync ('./ image.png', буфер)
Вот полный код:
const fs = require ('fs')
const {createCanvas, loadImage} = require ('холст')
const ширина = 1200
const height = 630
const холст = createCanvas (ширина, высота)
const context = холст.getContext ('2d')
context.fillStyle = '# 000'
context.fillRect (0, 0, ширина, высота)
context.font = 'жирный 70pt Menlo'
context.textAlign = 'центр'
context.textBaseline = 'вверху'
context.fillStyle = '# 3574d4'
const text = 'Привет, мир!'
const textWidth = context.measureText (текст) .width
context.fillRect (600 - textWidth / 2-10, 170-5, textWidth + 20, 120)
context.fillStyle = '#fff'
context.fillText (текст, 600, 170)
context.fillStyle = '#fff'
context.font = 'жирный, 30 пунктов, Menlo'
context.fillText ('flaviocopes.com ', 600, 530)
loadImage ('./ logo.png'). then (image => {
context.drawImage (изображение, 340, 515, 70, 70)
const buffer = canvas.toBuffer ('изображение / png')
fs.writeFileSync ('./ test.png', буфер)
})
2021 JavaScript Full-Stack Bootcamp начнется в конце марта 2021 года. Не упустите эту возможность, подпишитесь на лист ожидания!
Больше руководств по узлам:
|
Использование React с элементом Canvas
У нас есть React, который помогает нам работать с массивным изменяемым DOM в приятном неизменяемом функциональном стиле.Это замечательно.
Но я хотел бы описать способ использования React, который поможет вам работать с изменяемым объектным представлением «неизменяемого» элемента . Да, это странно звучит. Но это действительно хорошо работает.
Мотивация
Я часто использую элемент . Я сделал несколько сложных приложений, которые используют
в качестве компонента основного представления. Ванильный холст без каких-либо фреймворков / библиотек может быть действительно сложным для сложных приложений.Поэтому я начал много использовать фреймворки холста. Сейчас я поддерживаю Konva 2d Canvas Framework.
Konva
очень помогает, но все равно сейчас не так хорошо, как хотелось бы. Также я начал использовать React в своих приложениях, и мне это очень нравится. Итак, я подумал, как мне использовать React для рисования графики на холсте.
Собственный холст внутри React
Очень легко получить доступ к контексту в компоненте React и нарисовать любую графику:
Класс CanvasComponent расширяет React.Компонент {
componentDidMount () {
this.updateCanvas ();
}
updateCanvas () {
const ctx = this.refs.canvas.getContext ('2d');
ctx.fillRect (0,0, 100, 100);
}
оказывать() {
возвращаться (
);
}
}
ReactDOM.render ( , document.getElementById ('контейнер'));
Демо: http://jsbin.com/xituko/edit?js,output
Отлично подходит для тривиальных примеров.Но для сложных приложений этот подход не так хорош, потому что мы не можем использовать всю мощь повторно используемых компонентов React.
function rect (props) {
const {ctx, x, y, ширина, высота} = props;
ctx.fillRect (x, y, ширина, высота);
}
class CanvasComponent расширяет React.Component {
componentDidMount () {
this.updateCanvas ();
}
componentDidUpdate () {
this.updateCanvas ();
}
updateCanvas () {
const ctx = this.refs.canvas.getContext ('2d');
ctx.clearRect (0,0, 300, 300);
rect ({ctx, x: 10, y: 10, ширина: 50, высота: 50});
rect ({ctx, x: 110, y: 110, ширина: 50, высота: 50});
}
оказывать() {
возвращаться (
);
}
}
ReactDOM.render ( , document.getElementById ('контейнер'));
А как насчет методов жизненного цикла React (например, shouldComponentUpdate и т. Д.) И «всего представления внутри функции рендеринга»?
Реализация
Мне очень нравится подход React для создания приложений.Поэтому я сделал привязку реакции к объектам Konva
. И теперь я могу нарисовать сцену холста с различными графическими фигурами и использовать ее в своем приложении React.
npm install react konva react-konva --save
Затем
импортировать React из react;
импортировать ReactDOM из react-dom;
импортировать {Layer, Rect, Stage, Group} из «react-konva»;
class MyRect расширяет React.Component {
constructor (... args) {
супер (... аргументы);
this.state = {
цвет: 'зеленый'
};
это.handleClick = this.handleClick.bind (это);
}
handleClick () {
this.setState ({
цвет: Konva.Util.getRandomColor ()
});
}
оказывать() {
возвращаться (
);
}
}
function App () {
возвращаться (
<Ширина сцены = {700} высота = {700}>
<Слой>
);
}
ReactDOM.render ( , document.getElementById ('контейнер'));
Демо: http://jsbin.com/camene/8/edit?html,js,output
Спасибо https://github.com/reactjs/react-art за предоставление хороших примеров пользовательских компонентов React.
Сравнения
реагировать-конва против реагировать-холст
react-canvas — это совершенно другой плагин для реагирования. Он позволяет очень эффективно рисовать DOM-подобные объекты (изображения, тексты) на элементе холста. Это НЕ про рисование графики, но react-konva как раз для рисования сложной графики на элементе из React.
react-konva vs react-art
react-art
позволяет рисовать графику на странице. Он также поддерживает SVG для вывода. Но он не поддерживает события форм.
реакция-конва против ванильного холста
«Производительность» — одно из самых модных словечек в реакции на хайп.
Я сделал этот плагин не из соображений производительности. Использование vanilla должно быть более производительным, потому что при использовании
react-konva
у вас есть фреймворк Konva поверх и React поверх Konva.Но я сделал этот плагин, чтобы бороться со сложностью приложения. Konva здесь очень помогает (особенно когда вам нужны события для объектов на холсте, такие как «щелчок» по фигуре, это действительно сложно сделать с ванильным холстом). Но React помогает здесь гораздо больше, поскольку обеспечивает очень хорошую структуру для вашей кодовой базы и потока данных.
Характеристики
react-konva
работает поверх Konva
, поэтому он поддерживает все основные формы: Circle
, Rect
, Ellipse
, Line
, Sprite
, Image
, Text
, TextPath
, Star
, Ring
, Arc
, Label
, SVG Path
, RegularPolygon
, Arrow
и вы можете создавать свои собственные пользовательские формы.