ETH官方钱包

前往
大廳
主題 達人專欄

【前端只是寫來養(yǎng)生的】React + Js 製作文章縮圖編輯器!

%%鼠 拒收病婿 | 2022-04-03 01:12:06 | 巴幣 474 | 人氣 1150

前言:
使用React框架改寫了自介網站
途中記錄了許多製作過程,接下來會一一整理出來,該自介網站還有做簡單後臺,讓我可以像巴哈小屋一樣打文章、管理。

想要copy程式也能去自介網站的內文喔。


成果(美化之前):

使用componentDidMount

React生命週期中,componentDidMount是在render()結束後呼叫,可用於建立該元件的基本參數(shù),在此用來呼叫抓取DOM物件 (因為在render之前該DOM物件並不存在)。


設定React Component 預設值

在上面我們創(chuàng)了一個繼承自React.Component的類別AvatarEditor。
設定該元件的預設值可使用類別.defaultProps


畫四個角的控制器

如圖繪製代表控制點的黑色方塊。
其中rectSize 代表扣掉控制點大小後,實際的內部rect大小。須從內部繪製控制點才不會突出範圍。

拖拉控制

透過控制對角線的x與y的位置,一同移動其餘的三個控制點。



拖拉位置

透過改變與父物件相對位置的top,left值實現(xiàn)移動的效果。


加入拖拉判斷與事件:


同步操作縮圖位置

同樣在操作預覽圖片的top,left值達到效果。


如何使用?

先宣告全域變數(shù)previewResult 乘載編輯結果。
並透過按鈕呼叫本元件的callback方法。
還記得我們在設定元件初始值的時候宣告了onsubmit方法當作傳入參數(shù)。在執(zhí)行建構子時將該方法參數(shù)連接本程式的方法。
注意等號左邊的是傳入的callback方法參數(shù)(property),右邊的是本程式碼的方法。
至此,本元件腳本結束。



外部呼叫

呼叫開啟編輯器:
將useState()方法當作參數(shù)傳入,使在元件裡面和下確認後能更新資料給外部元件。
透過更新圖片大小、上下錨點呈現(xiàn)效果。

注意圖片大小是紀錄縮放百分比例而不是固定的px數(shù)值,如此在不同大小的物件下才能正常顯示。 (例如:編輯頁面的預覽圖片大小是300*300px,但在小屋清單上是200*200px,若紀錄的是圖片的px數(shù)值,則會發(fā)生跑版)


完成~


秀一下目前美化過的版本

網站開幕了,開心


碎碎念:
昨天打完疫苗,今天整天的頭昏昏的,所以就來打網頁吧,打完腦袋都不痛了
送禮物贊助創(chuàng)作者 !
0
留言

創(chuàng)作回應

在意你就輸了
雖然不是重點,但個人網站那個可以增減的游標鍊球還蠻療育的ww
2022-04-03 05:07:50
%%鼠 拒收病婿
度ㄉ,有點可愛[e16]
2022-04-03 17:29:46
蘇姆INKO_IQ
我沒有要找碴的意思,可是建議個人網站的滑鼠最好做成左上角是點擊的位置,弄成一個圓的然後中心可以按,不是這麼好用。

還有那個拖尾巴的特效跟停下來的晃動都蠻有趣的,可是這些很有趣的東西全都會影響實用性
2022-04-03 17:54:54
%%鼠 拒收病婿
感謝建議 [e16] 不用擔心~XD
之後也許可以來改游標圖案 。 ((話說那個球球鍊子,不知道有沒有人發(fā)現(xiàn)按右鍵可以減少數(shù)量
2022-04-04 15:00:29
像素學徒
那鼠標可以玩很久
2022-04-03 19:52:03
%%鼠 拒收病婿
可愛XD
2022-04-04 15:01:00
吼搭啦
記得在幾天內多注意身體喔
2022-04-04 00:01:58
%%鼠 拒收病婿
感謝
2022-04-04 15:01:04
傑森五德
大佬 給跪下了 神 乎 其 技
2023-02-03 18:31:01
追蹤 創(chuàng)作集

作者相關創(chuàng)作

更多創(chuàng)作