0.2.5 • Published 3 days ago

photo-editor v0.2.5

Weekly downloads
12
License
MIT
Repository
github
Last release
3 days ago

NPM dependencies status

photo-editor-js

Простой кастомизируемый редактор фотографий для веб-приложений.

Примеры

Установка

npm install photo-editor --save
yarn add photo-editor

Использование

Инициализация редактора

import { PhotoEditor } from 'photo-editor';

const photoEditor = new PhotoEditor(canvasEl, options);

canvasEl - DOM-элемент, на котором производится редактирование фотографий. Обязательно должен являться canvas-ом.

options:

ПараметрОбязательныйОписание
tools+Объект, ключами которого язляются id используемых интсрументов, а значениями - их классы. О создании инструментов ниже.
sourceType-Тип источника, из которого будет взято исходное изображение. Возможны значения: current-canvas (текущий canvas), canvas (другой canvas), img (картинка со страницы), base64 (base64-строка изображения). По умолчанию current-canvas.
sourceесли sourceType - не current-canvasИсточник, из которого будет взято исходное изображение. Если sourceType - current-canvas, то не используется, если canvas, то HTMLCanvasElement, если img, то HTMLImageElement, если base64, то base64-строка.

Создание инструмента

import { Tool } from 'photo-editor';

class MyTool extends Tool {
  ...
}

Свойства базового класса:

НазваниеОписание
elcanvas-элемент, на котором происходит рисование.
enabledВключен ли инструмент на данный момент.

Методы базового класса:

НазваниеАргументыОписание
pushStatebase64-строкаСохранить состояние для возможности вернуться к нему, используя методы undo и redo редактора.
updateStatebase64-строкаИзменение последнего сохраненного состояния.
disable-Выключить инструмент.

Методы инструмента:

НазваниеОписание
onBeforeDisableВызывается перед выключением инструмента.
onAfterDisableВызывается после выключения инструмента.
onBeforeEnableВызывается перед включением инструмента.
onAfterEnableВызывается после включения инструмента.
onBeforeDestroyВызывается перед удалением инструмента.

Также Tool унаследован от EventEmitter.

Использование редактора

Методы

НазваниеАргументыОписание
getCurrentState-Получить base64 последнего сохранённого состояния (если нет, инициализационного).
enableToolid инструментаВключить определённый инструмент. Если включен какой-то другой инструмент, он будет выключен.
disableTool-Выключить включенный инструмент.
toggleToolid инструментаЕсли включен определённый инстумент, выключить его, если выключен - включить. Если включен какой-то другой инструмент, он будет выключен.
undo-Вернуть редактор к предыдущему сохранённому состоянию.
redo-Вернуть редактор к следующему сохранённому состоянию.

События

PhotoEditor унаследован от EventEmitter.

Название событияАргументыКогда вызывается
ready-После того, как проинициализированы редактор и все инструменты, и на canvas-е нарисовано изображение для инициализации.
enableTooltoolId (id включенного инструмента)После включения инструмента.
disableTool-После выключения инструмента.

Доступ к инструментам

Все инструменты редактора доступны по ключу в поле tools, например,

import { PhotoEditor } from 'photo-editor';
import { Crop } from 'photo-editor/tools';

const photoEditor = new PhotoEditor(canvasEl, {
  tools: {
    crop: Crop,
  },
});

photoEditor.tools.crop.applyCrop();

Встроенные инструменты

import {
  Blur,
  Brightness,
  Crop,
  Contrast,
  Rectangle,
  RotateLeft,
  RotateRight,
} from 'photo-editor/tools';

Blur

Размытие части изображения с помощью кисти.

Brightness

Изменение яркости всего изображения.

Crop

Вырезка нужной части изображения. Сначала нужно ограничить область рисованием прямоугольника, затем вызвать метод applyCrop для применения вырезки.

События

Название событияАргументыКогда вызывается
set-После того, как выбрана прямоугольная область.
unset-После того, как выбор прямоугольнай области отменён.

Contrast

Изменение контрастности всего изображения.

Rectangle

Рисование красного прямоугольника.

RotateLeft

Поворот изображения на 90 градусов против часовой стрелки. Срабатывает сразу после включения инструмента.

RotateRight

Поворот изображения на 90 градусов по часовой стрелке. Срабатывает сразу после включения инструмента.

0.2.5

3 days ago

0.2.4

2 months ago

0.2.3

5 months ago

0.2.2

7 months ago

0.2.1

3 years ago

0.2.0

5 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago