# react-cropper
**Repository Path**: ekber/react-cropper
## Basic Information
- **Project Name**: react-cropper
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-07-18
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# react-cropper
[Cropperjs](https://github.com/fengyuanchen/cropperjs) as React components
[](https://www.npmjs.com/package/react-cropper)
[Demo](http://roadmanfong.github.io/react-cropper/example/)
## Docs
* [Image Cropper](https://github.com/fengyuanchen/cropper)
## Installation
Install via [npm](https://www.npmjs.com/package/react-cropper)
```shell
npm install --save react-cropper
```
You need `cropper.css` in your project which is from [cropperjs](https://www.npmjs.com/package/cropperjs).
Since this project have dependency on [cropperjs](https://www.npmjs.com/package/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
# Changelog
## Todo
* Unit test
## Quick Example
```js
import React, {Component} from 'react';
import Cropper from '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').default
class Demo extends Component {
_crop(){
// image in dataUrl
console.log(this.refs.cropper.getCroppedCanvas().toDataURL());
}
render() {
return (
);
}
}
```
## Options
### src
* Type: `string`
* Default: `null`
```js
```
### alt
* Type: `string`
* Default: `picture`
### crossOrigin
* Type: `string`
* Default: `null`
### aspectRatio
https://github.com/fengyuanchen/cropperjs#aspectratio
### dragMode
https://github.com/fengyuanchen/cropperjs#dragmode
### data
https://github.com/fengyuanchen/cropperjs#setdatadata
### scaleX
https://github.com/fengyuanchen/cropperjs#scalexscalex
### scaleY
https://github.com/fengyuanchen/cropperjs#scalexscaley
### enable
https://github.com/fengyuanchen/cropperjs#enable
### disable
https://github.com/fengyuanchen/cropperjs#disable
### cropBoxData
https://github.com/fengyuanchen/cropperjs#setcropboxdatadata
### canvasData
https://github.com/fengyuanchen/cropperjs#setcanvasdata
### zoomTo
https://github.com/fengyuanchen/cropperjs#zoomto
### moveTo
https://github.com/fengyuanchen/cropperjs#moveto
### rotateTo
https://github.com/fengyuanchen/cropperjs#rotateto
### Other options
Accept all options in the [docs](https://github.com/fengyuanchen/cropperjs#options) as properties.
Except previous mentioned options, other options don't take effect after component mount.
```js
```
## Methods
Assign a `ref` attribute to use [methods](https://github.com/fengyuanchen/cropper#methods)
```js
class Demo extends Component {
_crop(){
const dataUrl = this.refs.cropper.getCroppedCanvas().toDataURL();
console.log(dataUrl);
},
render() {
return (
);
}
}
```
## Build
```
npm run build
npm run build-example
```
## Author
Fong Kuanghuei(fongkuanghui@gmail.com)
## License
MIT