中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

一:裁剪的思路:

10年積累的網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(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í),就能夠通過(guò)event事件

對(duì)象獲取鼠標(biāo)點(diǎn)擊位置,e.clientX 和 e.clientY; 當(dāng)鼠標(biāo)進(jìn)行移動(dòng)的時(shí)候,也能通過(guò)event獲取鼠標(biāo)的位置,通過(guò)兩次鼠標(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ū)域被越界

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

1-4-1 裁剪越界

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

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

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

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

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

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

移動(dòng)越界指已經(jīng)形成了裁剪區(qū)域了,但是我們可以通過(guò)鼠標(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)

因此頁(yè)面布局變成如下:

<!DOCTYPE html>
<html>
<head>
 <title>圖片裁剪</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
 <link rel="stylesheet" type="text/css" href="./index.css">
</head>
<body>
 <div id="app" >
 <div class="vue-cropper">
 <div class="cropper-box">
 <div class="cropper-box-canvas" >
  <img src="https://images2018.cnblogs.com/blog/561794/201804/561794-20180416230443389-1451524334.jp" />
 </div>
 </div>
 <div class="cropper-drag-box cropper-crop"></div>
 </div>
 </div>
</body>
</html>

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

本文題目:Vue-cropper圖片裁剪的基本原理及思路講解-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.rwnh.cn/article6/dgsjig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站收錄、Google全網(wǎng)營(yíng)銷推廣、自適應(yīng)網(wǎng)站、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)
上饶县| 阿拉尔市| 渝中区| 苏尼特右旗| 陵川县| 宜昌市| 宣武区| 昌宁县| 阿合奇县| 定结县| 乾安县| 靖江市| 陇南市| 青河县| 读书| 扎赉特旗| 云林县| 大化| 县级市| 长岭县| 瑞昌市| 峨山| 蒙山县| 榆树市| 娄烦县| 博野县| 太保市| 布尔津县| 栾川县| 泗阳县| 两当县| 泸溪县| 昌黎县| 岳池县| 威海市| 临漳县| 大余县| 孝感市| 南阳市| 临桂县| 九江县|