画笔工具:铅笔、直线、矩形、圆形、箭头、文

canvas-drawing

a easy to use drawing board lib

0 dependencies Modern browser compatibility Installing

Using npm:

npm install canvas-drawing

Using yarn:

yarn add canvas-drawing

Using script tag

<script src="your_path/dist/canvas-drawing.min.js"></script> Play

live example

or

git clone this repository then open example/index.html in your browser

Usage Initialize

<script type="text/javascript" src="//{you path to the dist file}/dist/canvas-drawing.min.js"></script> <style>.container { width: 500px; height: 500px; }</style> <div class="container"></div>

// More options are available in the following documents const options = { container: document.getElementsByClassName('container')[0] } /* A canvas has 2 sizes, the dimension of the pixels in the canvas and the display size. canvas's dimension of the pixels is (devicePixelRatio * canvas's display size) by default. canvas's display size equals container's size (width/height) */ const draw = new canvasDrawing(options); Options

Options Type Default value Description
container HtmlDom (required) / Container for canvas
bgImg String Empty string Canvas background Image's url, if you needed.
canvasBgColor String #fff Canvas background Color
lineColor String #f00 Color of brush
lineWidth String / Number 1 Width of brush
arrowSize String / Number 15 Size of arrows
eraserSize String / Number 10 Size of eraser
textFontSize String / Number 16 Font size of the textArea
textLineHeight String / Number 20 Font lineheight of the textArea
textColor String #f00 Font color of the textArea
textareaPlaceholder String Type here... Textarea's placeholder
ratio Nubmer window.devicePixelRatio Affects the quality of the picture
APIs
Method Arguments Description
config( type,val ) tpye's enum(lineColor, lineWidth, arrowSize, eraserSize, canvasBgColor, textFontSize, textLineHeight, textColor, bgImg, textareaPlaceholder, ratio) Modifying the default configuration
setMode( mode ) mode's enum(pencil, straightLine, rect, circle, arrow, text, eraser) Set current mode
saveImg( [options] ) default value { tpye: 'png', fileName: 'canvas_imgae' } Save the canvas as an image, and download.
generateBase64([type]) default value "png" Generate Base64 data
undo() / Undo operation
redo() / Redo operation
clear() / Clear canvas
Listeners

coords it will return canvas's coords (x, y) and Mouse's coords (clientX, clientY)

drawBegin

import CanvasDrawing from 'canvas-drawing' const draw = new CanvasDrawing({container: Dom}) draw.evt.on('drawBegin', function(coords) { console.log('begin', coords); }) drawing

draw.evt.on('drawing', function(coords) { console.log('drawing', coords); }) drawEnd

draw.evt.on('drawEnd', function(coords) { console.log('end', coords); }) removeListeners

draw.evt.off('drawBegin'); draw.evt.off('drawing'); draw.evt.off('drawEnd'); // or draw.evt.removeAllListeners(); Example

// init import CanvasDrawing from 'canvas-drawing' const container = document.getElementsByClassName('container')[0] const draw = new CanvasDrawing({container: container}) // methods draw.conifg('lineColor', '#FF1493') // Change the color of the brush. draw.setMode('rect') // Now you can draw the rectangle. draw.generateBase64().then(data => console.log(data)) // generateBase64 method default is to export the PNG base64 data. draw.generateBase64('jpeg').then(data => console.log(data)) // get smaller data. draw.saveImg() // Save the canvas as an PNG images, and the file name is canvas_imgae.png. draw.saveImg({fileName: '233.png'}) // Just Change of file name. draw.saveImg({tpye: 'jpeg', fileName: 'small.jpeg'}) // Sometimes we just need smaller pictures. License

MIT

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。