react中有实现截图插件吗
react中有实现截图插件,如react截图组件“react-cropper”,该组件可以实现图片裁剪功能,其使用方法是:首先安装“react-cropper”;然后通过getCroppedCanvas等方法获取裁剪的图片即可。
本教程操作环境:windows7系统、react17.0.1版本、Dell G3电脑。
相关推荐:《react教程》
react截图组件react-cropper的的使用方法
在使用React开发中我们经常会遇到上传图片的情况,如果要使的上传的图片符合一定的规格,那么便要在客户端对上传的图片进行一定的裁剪,这个时候我么便可以使用到react-cropper这个图片裁剪组件,可以帮助我们轻松的实现图片裁剪功能。
使用步骤如下:
1、安装:
npm install --save-dev react-cropper
2、使用方法如下:
import React from 'react' import Cropper from 'react-cropper' import 'cropperjs/dist/cropper.css' import {Button} from 'antd' export default class Crop extends React.Component { constructor() { super(); this.cropImage = this.cropImage.bind(this); } cropImage() { if (this.cropper.getCroppedCanvas() === 'null') { return false } this.props.getCropData(this.cropper.getCroppedCanvas().toDataURL()) } render() { return ( <div> <div style={{width: '100%'}}> <Cropper src={this.props.src} ref={cropper => { this.cropper = cropper; }} style={{height: 400, width: '100%'}} aspectRatio={246/346} guides={false} /> </div> <div> <Button type="primary" size="large" onClick={this.cropImage} style={{marginTop: '10px'}}> 确认裁剪 </Button> </div> </div> ); } } import Cropper from 'react-cropper' import 'cropperjs/dist/cropper.css'
这两句分别引入Cropper组件和它的样式,Cropper组件还有一些常用的属性:
src:src是要裁剪的图片的src,一般是上层组件读取到的图片的Base64编码
aspectRatio:这是控制裁剪后的图片的比例
裁剪框底部还有一个按钮来确认是否裁剪,从上面我们可以看到其绑定的事件:
cropImage() { if (this.cropper.getCroppedCanvas() === 'null') { return false } this.props.getCropData(this.cropper.getCroppedCanvas().toDataURL()) }
this.cropper使我们使用的react的ref属性保存的Cropper组件的DOM节点的引用,不清楚的可以去看React官方文档,这个组件提供了一个getCroppedCanvas()方法,这个方法返回的是裁剪得到的图片,我们可以使用
toDataURL()方法将其转化为Base64编码上传到上一级的组件。
以上就是react中有实现截图插件吗的详细内容,更多请关注其它相关文章!
上一篇: php怎么实现301重定向跳转
下一篇: php判断是否为移动手机端
推荐阅读
-
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
-
JS中使用react-tooltip插件实现鼠标悬浮显示框
-
React利用插件和不用插件实现双向绑定的方法详解
-
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
-
JS中使用react-tooltip插件实现鼠标悬浮显示框
-
安卓折线图插件和自带截图分享的实现
-
React利用插件和不用插件实现双向绑定的方法详解
-
excel - PHP负责把每一行数据插入到数据库,这个有什么插件能实现吗?
-
excel - PHP负责把每一行数据插入到数据库,这个有什么插件能实现吗?
-
如何实现phpcmsV9留言插件提交后返回上一页(代码截图)