真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Vue-cropper圖片裁剪的基本原理及思路講解-創(chuàng)新互聯(lián)

一:裁剪的思路:

10年積累的網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有廊坊免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1-1,裁剪區(qū)域:需要進(jìn)行裁剪首先需要形成裁剪區(qū)域,裁剪區(qū)域的大小和我們的鼠標(biāo)移動(dòng)的距離相關(guān)聯(lián),鼠標(biāo)移動(dòng)有多遠(yuǎn),裁剪區(qū)域就有多大。如下圖:

Vue-cropper 圖片裁剪的基本原理及思路講解

1-2 裁剪區(qū)域的寬和高的計(jì)算:

如上圖,鼠標(biāo)的橫向移動(dòng)距離和縱向移動(dòng)距離就形成了裁剪區(qū)域的寬和高。那么裁剪區(qū)域的寬和高的計(jì)算是:當(dāng)我們點(diǎn)下鼠標(biāo)時(shí),就能夠通過event事件

對(duì)象獲取鼠標(biāo)點(diǎn)擊位置,e.clientX 和 e.clientY; 當(dāng)鼠標(biāo)進(jìn)行移動(dòng)的時(shí)候,也能通過event獲取鼠標(biāo)的位置,通過兩次鼠標(biāo)位置的改變,就能夠獲得

鼠標(biāo)移動(dòng)的距離。即:初始的x軸位置為 initX = e.clientX, initY = e.clientY;

移動(dòng)到某個(gè)點(diǎn)的位置為:endX = e.clientX, endY = e.clientY;

因此裁剪區(qū)域的寬 Tx = endX - initX;

裁剪區(qū)域的高是 Ty = endY - initY;

1-3 陰影區(qū)域的形成

被我們裁剪圖片中除了裁剪區(qū)域以外的部分,都屬于陰影部分。如下圖所示:

Vue-cropper 圖片裁剪的基本原理及思路講解

那么陰影區(qū)域要如何計(jì)算呢?比如左陰影寬,左陰影寬 = 裁剪區(qū)域的左偏移值 - 圖片本身的左偏移值;那么上陰影高 = 裁剪區(qū)域的上偏移值 - 圖片上偏移值, 如下圖所示:

Vue-cropper 圖片裁剪的基本原理及思路講解

那么下陰影的高度 = 圖片本身的高度 - 上陰影的高度 - 裁剪區(qū)域的高度;那么右陰影的寬度 = 圖片的寬度 - 左陰影寬 - 裁剪區(qū)域的寬。

1-4 理解裁剪區(qū)域被越界

裁剪圖片過程中會(huì)出現(xiàn)越界的情況,那么越界又需要分為2種情況, 第一種是:裁剪過程中的越界,第二種是 移動(dòng)裁剪區(qū)域的越界。

1-4-1 裁剪越界

什么是裁剪時(shí)越界? 就是當(dāng)我們使用鼠標(biāo)拖動(dòng)區(qū)域裁剪超出了圖片的寬度和高度,形成了的越界;如下圖所示:

Vue-cropper 圖片裁剪的基本原理及思路講解

對(duì)于這種越界需要判斷被裁剪區(qū)域的右側(cè)相對(duì)于瀏覽器左側(cè)的位置,不能超過圖片右側(cè)的位置相對(duì)于瀏覽器左側(cè)的位置;

且 被裁剪區(qū)域的底部相對(duì)于瀏覽器頂部的位置 不能超過 圖片的底部相對(duì)于瀏覽器頂部的位置,如下圖所示:

Vue-cropper 圖片裁剪的基本原理及思路講解

1-4-2 移動(dòng)越界

移動(dòng)越界指已經(jīng)形成了裁剪區(qū)域了,但是我們可以通過鼠標(biāo)裁剪區(qū)域時(shí)產(chǎn)生了越界。其實(shí)判斷原理和裁剪越界的原理一樣的。

2. 圖片如何進(jìn)行壓縮?

當(dāng)圖片的寬度大于容器的寬度,就需要進(jìn)行壓縮;因此 var scale = 容器的寬度 / 圖片的寬度;

如果圖片的高度 * 縮放比例 > 容器的高度,那么縮放比例 scale = 容器的高度 / 圖片的高度;否則的話,不進(jìn)行壓縮。

2-1:對(duì)于壓縮后 translate3d中的X軸和Y軸移動(dòng)位置計(jì)算方式:

x = 容器的寬度 / 壓縮比

y = 容器的高度 / 壓縮比

即:transform: translate3d(x, y, z) -> translate3d(容器的寬度 / 壓縮比 + 'px', 容器的高度 / 壓縮比 + 'px', 0)

因此頁面布局變成如下:




 圖片裁剪
 
 
 


 

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


文章題目:Vue-cropper圖片裁剪的基本原理及思路講解-創(chuàng)新互聯(lián)
文章分享:http://weahome.cn/article/dgsjig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部