利用jQuery插件imgAreaSelect實(shí)現(xiàn)圖片上傳裁剪(同步顯示圖像位置信息)

<body>
<div class="container demo">
<div class="big">
<p class="instructions">大圖預(yù)覽</p>
<div class="bigframe">
<img width="300" height="300" src="images/resized_pic.jpg" alt="" />
</div>
</div>
<div class="small">
<p>小圖縮放</p>
<div class="smallframe" >
<div class="pre" id="preview">
<img src="images/resized_pic.jpg" alt="" />
</div>
</div>
</div>
</div>
</body>
先總結(jié)一下:
最近練手,寫了一些小東西,都是網(wǎng)上已有的成熟的JQ或JS,但在練手的過程中,我發(fā)現(xiàn),很多應(yīng)用,其實(shí)最后,都是歸根到元素的寬高變化,位置變化,通過事件或算法,最后形成了效果或應(yīng)用。
如果大家看到一些很炫的東西效果,其實(shí)都可以往寬高,位置,顯示隱藏,這些方面去分析。一步一步深入。是一點(diǎn)個(gè)人體會(huì)。好吧,進(jìn)入正題。
如何讓左邊選擇區(qū)域的圖像信息和右邊的同步顯示出來?
一、右邊顯示和左邊同步:
左邊選擇一塊區(qū)域,那么右邊要和這個(gè)區(qū)域的圖像信息相同?其實(shí)質(zhì),也就是要移動(dòng)右邊的圖像,讓移動(dòng)后的右邊圖片,在顯示區(qū)域當(dāng)中,顯示的圖像信息,正好和左邊的選擇區(qū)域一樣。
二、如何移動(dòng)右邊圖像
要移動(dòng)圖片,也就是移動(dòng)一個(gè)元素,可以有改變TOP LEFT值,這是在有絕對或相對定位的情況下。而這里,沒有。
所以用到改變margin-top margin-left值的方式。
三、移動(dòng)公式

上圖中:黑色:圖片,白色:選擇區(qū),紅色:起始點(diǎn),綠色:起始點(diǎn)的橫縱坐標(biāo)值; 黃色為:右邊圖片的margin-top,margin-left
假設(shè):左邊圖片和右邊圖片,一樣大小,寬和高都一樣。我要在右邊顯示出左邊白色區(qū)域的圖像信息,就需要把右邊圖片的
margin-top值設(shè)為:紅點(diǎn)的Y坐標(biāo)值
margin-left值設(shè)為:紅點(diǎn)的X坐標(biāo)值
即:
margin-top = x; margin-left = Y;
但是現(xiàn)在假設(shè)不成立,因?yàn)橛疫厛D片的大小,是隨時(shí)變化的(第一篇分析中有);
而變化是根據(jù)一個(gè)比例值來的。
所以這里不管是圖片放大,還是縮小,原來
都應(yīng)該乘以這個(gè)放大或縮小的比例值:
margin-top = scaleX*x; margin-left = scaleX*Y;
好了,現(xiàn)在可以得到移動(dòng)的位置值了。也就是說左邊和右邊可以同步顯示圖像信息了。
以上就是本文的全部內(nèi)容,希望對大家有所幫助,有興趣的朋友可以看下《利用jQuery插件imgAreaSelect實(shí)現(xiàn)圖片上傳裁剪(放大縮?。?/a>,謝謝對腳本之家的支持!
- jQuery插件ImgAreaSelect實(shí)現(xiàn)頭像上傳預(yù)覽和裁剪功能實(shí)例講解一
- struts2+jsp+jquery+Jcrop實(shí)現(xiàn)圖片裁剪并上傳實(shí)例
- 利用jQuery插件imgAreaSelect實(shí)現(xiàn)圖片上傳裁剪(放大縮小)
- jquery.Jcrop結(jié)合JAVA后臺(tái)實(shí)現(xiàn)圖片裁剪上傳實(shí)例
- jQuery實(shí)現(xiàn)圖片上傳和裁剪插件Croppie
- jQuery插件jcrop+Fileapi完美實(shí)現(xiàn)圖片上傳+裁剪+預(yù)覽的代碼分享
- jQuery+PHP實(shí)現(xiàn)上傳裁剪圖片
相關(guān)文章
jquery canvas繪制圖片驗(yàn)證碼實(shí)例
這篇文章主要為大家詳細(xì)介紹了jquery canvas繪制圖片驗(yàn)證碼實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
jQuery EasyUI 開源插件套裝 完全替代ExtJS
JQuery愛好者們的福音 jQuery EasyUI 開源插件套裝 完全替代ExtJS(引用)2010-03-03
jQuery實(shí)現(xiàn)DIV響應(yīng)鼠標(biāo)滑過由下向上展開效果示例【測試可用】
這篇文章主要介紹了jQuery實(shí)現(xiàn)DIV響應(yīng)鼠標(biāo)滑過由下向上展開效果,涉及jQuery基于事件響應(yīng)結(jié)合stop與animate方法控制頁面元素屬性動(dòng)態(tài)變換相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
jquery使用FormData實(shí)現(xiàn)異步上傳文件
這篇文章主要為大家詳細(xì)介紹了jquery使用FormData實(shí)現(xiàn)異步上傳文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
jQuery Raty星級(jí)評分插件使用方法實(shí)例分析
這篇文章主要介紹了jQuery Raty星級(jí)評分插件使用方法,結(jié)合實(shí)例形式分析了jquery Raty星級(jí)評分插件的下載、調(diào)用、基本屬性及相關(guān)使用技巧,需要的朋友可以參考下2019-11-11

