ng-opendraw
v0.0.4
Published
Opendraw is an angular component that manipulates the canvas for drawing content across all devices
Downloads
23
Maintainers
Readme
Opendraw
Opendraw is an angular component that manipulates the canvas for drawing content across all devices. It supports touch/pen/mouse devices. It uses pointerEvent to detect the device.
Demo
Try it out here: DEMO or clone this repo and run ng serve
for a full demo of opendraw. Angular version 8.2.14.
Features
- Draw with different devices (mouse|pen|touch)
- Export your drawings
- Handle foreground and background layer (image|color)
- Configure drawing style (color|width|shapes|eraser)
- Configure allowed devices (mouse|pen|touch|all)
How to use
First install the package with the command npm i ng-opendraw
Then, in your module.ts, import the library module
import { NgOpendrawModule } from 'ng-opendraw';
And add it to your imports modules.
You can now use <ng-opendraw></ng-opendraw>
it in any component.html
<ng-opendraw
[canHeight]='this.height'
[canWidth]='this.width'
[lineWidth]='this.lineWidth'
[lineColor]='this.getColor()'
[commandObs]='this.commandObs$'
[drawStyle]='this.drawStyle'
[fillShape]='this.fillShape'
[eraser]='this.eraser'
[allowedDeviceType]='this.allowedDeviceType'
[backgroundImage]='this.bgImg'
[backgroundColor]='this.bgColor'
(outputEvent)='this.processResult($event)'
(errorEvent)='this.processError($event)'
></ng-opendraw>
Check out the repo for a full demo code here
Inputs
| Property | Type | Note | | -------- | ---- | ---- | | [canHeight]| number | Height of the canvas area in px | | [canWidth] | number | Width of the canvas area in px | | [lineWidth] | number | Line width in px, default: 3 | | [lineColor] | string | Line color, default: black | | [commandObs] | Observable(DrawCommand) | Triggers a drawcommand like export, clear, ... | | [drawStyle] | DrawStyle | Specify the drawing style like normal, circle, rectangle, line... default: normal | | [fillShape] | boolean | Enable/disable shape filling | | [eraser] | boolean | Enable/disable eraser | | [allowedDeviceType] | DeviceType | Specify the allowed device type like mouse, touch, pen... default: all | | [backgroundImage] | Image/HTMLImageElement | Specify the background layer image | | [backgroundColor] | string | Specify the background layer color |
Outputs
| Event | Type | Note | | -------- | ---- | ---- | | (outputEvent) | string | Emits the exported drawing image | | (errorEvent) | any | Emits all errors |
To-Do / Improvements
- Layers (add|remove|select|hide)
- Undo / Redo actions
NPM
This package is on npm
https://www.npmjs.com/package/ng-opendraw
License
This package is under the MIT license