react?cropper圖片裁切實(shí)例詳解
摘要
在最近的業(yè)務(wù)工作中,需要提供一個(gè)上傳圖片前先剪切圖片的功能。有了這個(gè)業(yè)務(wù)需求,我就在尋找一些可以幫助我完成業(yè)務(wù)的庫(kù)。那么我推薦兩個(gè)庫(kù)。一個(gè)是基礎(chǔ)版本的react-cropper另一個(gè)是被別人封裝過(guò)的。react-cropper-pro??梢愿鶕?jù)自己的情況所需選擇自己需要的庫(kù)。在這里我主要說(shuō)說(shuō)react-cropper
這個(gè)庫(kù),那么如果想要了解這個(gè)react-cropper-pro
這個(gè)庫(kù)的同學(xué)可以看看,該庫(kù)作者的介紹,說(shuō)的很詳細(xì)。React-cropper-pro
簡(jiǎn)介
那么react-cropper
這個(gè)庫(kù)到底能干什么呢?
1.點(diǎn)擊Demo查看demo
2.github地址
安裝
npm install --save react-cropper
使用
直接粘貼代碼就可以實(shí)現(xiàn)圖片效果。
import React, { useRef } from "react"; import Cropper from "react-cropper"; import "cropperjs/dist/cropper.css"; function App() { const cropperRef = useRef(null); const onCrop = () => { const imageElement = cropperRef?.current; const cropper = imageElement?.cropper; // 如果感覺(jué)卡頓,請(qǐng)注釋下面這一行 console.log(cropper.getCroppedCanvas().toDataURL()); }; return ( <Cropper src="https://raw.githubusercontent.com/roadmanfong/react-cropper/master/example/img/child.jpg" style={{ height: 400, width: "100%" }} // Cropper.js options initialAspectRatio={16 / 9} guides={false} crop={onCrop} ref={cropperRef} /> ); } export default App;
他會(huì)根據(jù)你的鼠標(biāo)拖動(dòng),自動(dòng)當(dāng)裁切區(qū)域內(nèi)的圖片轉(zhuǎn)換為base64格式的圖片。如果你覺(jué)得會(huì)又明顯的卡頓,是因?yàn)樗O(jiān)聽(tīng)的是裁切框移動(dòng)事件,只要裁切框移動(dòng)就會(huì)觸發(fā)。這樣是不利于用戶體驗(yàn)的,可以通過(guò)防抖、節(jié)流的方式來(lái)控制他,讓他達(dá)到一個(gè)比較好的體驗(yàn)效果。它里面有很多的屬性。具體學(xué)習(xí)的同學(xué)可以去看看源碼。畢竟業(yè)務(wù)為主。
總結(jié)
這就是一個(gè)比較好用的裁切庫(kù),當(dāng)然你也可以直接是直接使用cropperjs來(lái)進(jìn)行封裝。我主要是完成公司的業(yè)務(wù),拿到一個(gè)較高的績(jī)效。
以上就是react cropper圖片裁切實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于react cropper圖片裁切的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
react結(jié)合bootstrap實(shí)現(xiàn)評(píng)論功能
這篇文章主要為大家詳細(xì)介紹了react結(jié)合bootstrap實(shí)現(xiàn)評(píng)論功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05react數(shù)據(jù)管理機(jī)制React.Context源碼解析
這篇文章主要為大家介紹了react數(shù)據(jù)管理機(jī)制React.Context源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11React?Hooks useReducer?逃避deps組件渲染次數(shù)增加陷阱
這篇文章主要介紹了React?Hooks?之?useReducer?逃避deps后增加組件渲染次數(shù)的陷阱詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09解決React報(bào)錯(cuò)Property value does not exist&n
這篇文章主要為大家介紹了React報(bào)錯(cuò)Property value does not exist on type HTMLElement解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12react實(shí)現(xiàn)路由動(dòng)畫跳轉(zhuǎn)功能
這篇文章主要介紹了react路由動(dòng)畫跳轉(zhuǎn)功能,大概思路是下載第三方庫(kù)?引用,創(chuàng)建css文件引用,想要實(shí)現(xiàn)跳轉(zhuǎn)動(dòng)畫功能,就在那個(gè)組件的根節(jié)點(diǎn)綁定classname屬性即可,在跳轉(zhuǎn)的時(shí)候即可實(shí)現(xiàn),需要的朋友可以參考下2023-10-10react實(shí)現(xiàn)數(shù)據(jù)監(jiān)聽(tīng)方式
這篇文章主要介紹了react實(shí)現(xiàn)數(shù)據(jù)監(jiān)聽(tīng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08