首頁  >  文章  >  web前端  >  react中有實作截圖插件嗎

react中有實作截圖插件嗎

藏色散人
藏色散人原創
2021-01-26 09:09:473067瀏覽

react中有實現截圖插件,如react截圖組件“react-cropper”,該組件可以實現圖片裁剪功能,其使用方法是:首先安裝“react-cropper”;然後通過getCroppedCanvas等方法獲取裁剪的圖片即可。

react中有實作截圖插件嗎

本教學操作環境: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: &#39;100%&#39;}}>
                    <Cropper
                        src={this.props.src}
                        ref={cropper => {
                            this.cropper = cropper;
                        }}
                        style={{height: 400, width: &#39;100%&#39;}}
                        aspectRatio={246/346}
                        guides={false}
                    />
                </div>
                <div>
                    <Button type="primary" size="large" onClick={this.cropImage}
                     style={{marginTop: &#39;10px&#39;}}>
                        确认裁剪
                    </Button>
                </div>
            </div>
        );
    }
}
import Cropper from &#39;react-cropper&#39;
import &#39;cropperjs/dist/cropper.css&#39;

這兩句分別引入Cropper元件和它的樣式,Cropper元件還有一些常用的屬性:

src:src是要裁切的圖片的src,一般是上層元件讀取到的圖片的Base64編碼

##aspectRatio:這是控制裁剪後的圖片的比例

裁剪框底部還有一個按鈕來確認是否裁剪,從上面我們可以看到其綁定的事件:

cropImage() {
        if (this.cropper.getCroppedCanvas() === &#39;null&#39;) {
            return false
        }
        this.props.getCropData(this.cropper.getCroppedCanvas().toDataURL())
    }

this.cropper使我們使用的react的ref屬性保存的Cropper組件的DOM節點的引用,不清楚的可以去看React官方文檔,這個組件提供了一個getCroppedCanvas()方法,這個方法返回的是裁剪得到的圖片,我們可以使用

toDataURL()方法將其轉換為Base64編碼上傳到上一層的元件。

以上是react中有實作截圖插件嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn