Cropperjs as React components
Install via npm
npm install --save react-cropperYou need cropper.css in your project which is from cropperjs.
Since this project have dependency on cropperjs, it located in /node_modules/react-cropper/node_modules/cropperjs/dist/cropper.css or node_modules/cropperjs/dist/cropper.css for npm version 3.0.0 later
- Unit test
importReact,{Component}from'react';importCropperfrom'react-cropper';import'cropperjs/dist/cropper.css';// see installation section above for versions of NPM older than 3.0.0// If you choose not to use import, you need to assign Cropper to default// var Cropper = require('react-cropper').defaultclassDemoextendsComponent{_crop(){// image in dataUrlconsole.log(this.refs.cropper.getCroppedCanvas().toDataURL());}render(){return(<Cropperref='cropper'src='http://fengyuanchen.github.io/cropper/img/picture.jpg'style={{height: 400,width: '100%'}}// Cropper.js optionsaspectRatio={16/9}guides={false}crop={this._crop.bind(this)}/>);}}- Type:
string - Default:
null
<Croppersrc='http://fengyuanchen.github.io/cropper/img/picture.jpg'/>- Type:
string - Default:
picture
- Type:
string - Default:
null
https://github.com/fengyuanchen/cropperjs#aspectratio
https://github.com/fengyuanchen/cropperjs#dragmode
https://github.com/fengyuanchen/cropperjs#setdatadata
https://github.com/fengyuanchen/cropperjs#scalexscalex
https://github.com/fengyuanchen/cropperjs#scalexscaley
https://github.com/fengyuanchen/cropperjs#enable
https://github.com/fengyuanchen/cropperjs#disable
https://github.com/fengyuanchen/cropperjs#setcropboxdatadata
https://github.com/fengyuanchen/cropperjs#setcanvasdata
https://github.com/fengyuanchen/cropperjs#zoomto
https://github.com/fengyuanchen/cropperjs#moveto
https://github.com/fengyuanchen/cropperjs#rotateto
Accept all options in the docs as properties. Except previous mentioned options, other options don't take effect after component mount.
<Croppersrc='http://fengyuanchen.github.io/cropper/img/picture.jpg'aspectRatio={16/9}guides={false}crop={this._crop}/>Assign a ref attribute to use methods
classDemoextendsComponent{_crop(){constdataUrl=this.refs.cropper.getCroppedCanvas().toDataURL();console.log(dataUrl);},render(){return(<Cropperref='cropper'crop={this._crop.bind(this)}/>);}}npm run build
npm run build-example
Fong Kuanghuei(fongkuanghui@gmail.com)
MIT
