vue-drawing-canvas
VueJS Component for drawing on canvas.
Support for both Vue 3 and Vue 2 + Composition API
Demo
Vue 3
Vue 2
Deployed on a nuxt container which have access to terminal
Installation
Install using package manager:
Then add it to your component files
Usage
Props
Name | Type | Default Value | Description |
---|---|---|---|
canvasId | String | VueDrawingCanvas |
Specifies your canvas id |
width | String, Number | 600 |
Specifies canvas width |
height | String, Number | 400 |
Specifies canvas height |
image | String | Your v-model to get canvas output to an base64 image | |
strokeType | String | "dash" |
Specifies stroke type to draw on canvas. Accepted value "dash" , "circle" , "square" , "triangle" , "half_triangle" |
fillShape | Boolean | false |
Specifies if the shape must be filled with the current fill style |
eraser | Boolean | false |
Props to change state from drawing to erasing |
color | String | "#000000" |
Specifies the color, gradient, or pattern to use for the strokes |
lineWidth | Number | 5 |
Sets the thickness of line |
lock | Boolean | false |
Lock canvas for drawing |
backgroundColor | String | "#FFFFFF" |
Set background color on your canvas |
backgroundImage | String | Set background image on your canvas Be carefull for performance issue when using this props !! |
|
initialImage | Array | [] |
Draw strokes and shapes from canvas you've worked before. Demo |
classes | Array, String, Object | Specifies your own classes to canvas | |
styles | Array, String, Object | Specifies your own styles to canvas | |
watermark | Object | Put watermark text/image on your image output (see details in the next section below) |
|
saveAs | String | "png" |
Specifies output type. This props accept either "png" or "jpeg" |
Watermark Object
Methods
Method Name | Return Value | Description |
---|---|---|
getCoordinates(event) | { x: 0, y: 0 } |
Get x-axis and y-axis coordinates from current canvas |
reset() | Reset current canvas to new state | |
undo() | Remove last drawing stroke on current canvas | |
redo() | Re-draw last removed stroke on current canvas | |
redraw() | Redraw all strokes on current canvas | |
isEmpty() | true or false |
Get current canvas empty state |
getAllStrokes() | Array of strokes and shapes |
Get all strokes and shapes from canvas |