温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

react中有没有实现截图插件

发布时间:2021-01-26 09:52:40 来源:亿速云 阅读:371 作者:小新 栏目:web开发

这篇文章给大家分享的是有关react中有没有实现截图插件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

react中有实现截图插件,如react截图组件“react-cropper”,该组件可以实现图片裁剪功能,其使用方法是:首先安装“react-cropper”;然后通过getCroppedCanvas等方法获取裁剪的图片即可。

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中有没有实现截图插件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI