1.2.1 • Published 4 years ago

dbb-img-crop v1.2.1

Weekly downloads
5
License
ISC
Repository
github
Last release
4 years ago
一款基于react-image-crop二次开发的,图片裁剪工具
npm install dbb-img-crop --save
node>=10.13.0
效果预览
使用示例
import React, { Component } from 'react';
import ReactDOM from 'react-dom'; 
import ReactCrop from 'dbb-img-crop';

const blockSize = {
  width: 460,
  height: 590,
};
const cropSize = {
  width: 800,
  height: 600,
};

class App extends Component {
  state = {
    src: null,
  };

  onSelectFile = e => {
    if (e.target.files && e.target.files.length > 0) {
      this.setState({ src: e.target.files[0] });
    }
  };

	handleSubmit = ({file,event}) => {
    // 会返回一个对象,file参数就是一个Blob对象
   // 如果你使用antd的插件,传进来的File对象有name和uid字段,返回的Blob对象都会有这两个key-	value 
   //如果还需要回显,可以 img.src = new Blob(file)     
    conosle.log(file);  
  	};

  render() {
    const { src } = this.state;

    return (
      <div className="App">
        <h1>下面将开始测试</h1>
        <div>
          <input type="file" onInput={this.onSelectFile} />
        </div>
        {src && (
          <>
            <ReactCrop
              //locked={true}  true == 裁剪框不可以自定义尺寸
              //ruleOfThirds={true} true == 开启裁剪框九宫格
              file={src}
              handleSubmit={blob => {
                //设置照片回显
                const src = URL.createObjectURL(blob.file),
                  img = document.createElement('img');
                img.src = src;
                img.style.margin = '0 auto';
                img.style.display = 'block';
                document.body.appendChild(img);
                this.setState({ src: null });
              }}
              close={() => this.setState({ src: null })}
            />
          </>
        )}
      </div>
    );
  }
}
参数名字参数说明
file图片的File对象(必传)
handleSubmit点击确定之后的回调函数:({file:Blob,event}) => {}
close关闭整个弹出层的回调函数
title弹出尘的标题,default:编辑图片
blockSize:{width:number, height:number}裁剪框的尺寸,默认尺寸:width:222,height:296
cropSize:object裁剪之后的照片回显样式,默认回显照: width:111,hegiht:148
rotate:boolean是否开启旋转,default:false
wrapStyle:object最外层容器的样式
leftStyle:object左边容器的样式
scrollBar:boolean是否显示滚动条,default:false
watermark:boolean是否开启添加水印功能,defalut:false
watermarkStyle:object添加水印的操作的样式
maxWatermarkSize:width,height设置水印的最大宽高,不传则不限制
defaultWatermarkSize:width,height设置水印的默认尺寸,defalut:50,50
accept:string水印图片的类型,default:"image/png, image/jpeg"
更新日志
1.2.1
  1. md说明的冲突忘记解决了,解决下。
1.2.0
  1. 新增添加水印功能。
1.1.1
  1. 新增wrapStyle属性。
  2. 新增leftStyle属性。
  3. 新增git图演示
1.1.0
  1. 新增旋转功能
  2. 布局方式变动,如果裁剪框+预览 不大于当前屏幕宽度的80%,将会水平剧中对齐显示
  3. css文件最终将会打包进js文件,不再单独打包成js和css文件
1.0.3
  1. 裁剪框添加了阴影。
  2. button按钮添加了一个类型 type="button"
  3. handleSubmit传递参数新增 event
1.2.0

4 years ago

1.2.1

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago