欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用jQuery插件imgAreaSelect實(shí)現(xiàn)圖片上傳裁剪(放大縮小)

 更新時(shí)間:2016年12月02日 11:02:50   作者:船長(zhǎng)op  
本篇文章主要對(duì)jQuery插件imgAreaSelect實(shí)現(xiàn)圖片上傳裁剪(放大縮?。┑氖褂米隽撕?jiǎn)要分析說明。需要的朋友來看下吧

這個(gè)應(yīng)用的關(guān)鍵:

 1.讓左邊選擇區(qū)域和右邊顯示的圖像信息保持一至。

 2.根據(jù)左邊選擇區(qū)域的大小,來讓右邊有一個(gè)對(duì)局部放大或縮小的效果。

    3.后臺(tái)上傳功能。

  那么這一次,只談[放大]或[縮小]。[位置]和[上傳]問題,下次,我再寫下(因?yàn)槟莻€(gè)插件代碼太多,我也沒看完,正在學(xué)習(xí)研究當(dāng)中)。

["區(qū)域":是寬*高,也就是面積;]

["放大或縮小":是一個(gè)比例值,通常我們說放大或縮小,都說放大或縮小百分之多少,或者說放大或縮小多少倍數(shù)]

一、怎么能放大或者縮小圖片的局部?

  局部放大:實(shí)質(zhì)是將圖片整個(gè)放大,即把圖片的寬度和高度改變大,然后將放大后的圖片,在一個(gè)固定大小(當(dāng)然是比原圖小的框)的框中,顯示出來。

  局部放大:實(shí)質(zhì)是將圖片整個(gè)縮小,即把圖片的寬度和高度改變小,然后將縮小后的圖片,在一個(gè)固定大小(當(dāng)然是比原圖小的框)的框中,顯示出來。

二、左右布局:

  左右各有一張相同的圖片,左邊選中區(qū)域的改變,會(huì)讓右邊的圖片,改變大小,根據(jù)第一點(diǎn)講的,所以就有了局部放大縮小效果;

三、放大縮小公式:

  左邊是原圖,右邊是縮小或放大后的圖。規(guī)律是左邊的選中區(qū)域越大,那么右邊也將縮小這個(gè)圖,反之左邊選中區(qū)域越小,那么右邊的圖就會(huì)放大.

  這個(gè)規(guī)律告訴我們,算法中應(yīng)該有除法。因?yàn)槌ㄖ?,分子不變,分母變大,那么結(jié)果越小,反之越大。所以除法中的在分子,不變的情況下,分母與結(jié)果正好是一對(duì),反比關(guān)系,一個(gè)大,一個(gè)就小,反之,一個(gè)小,另一個(gè)就大。也正好和我們這個(gè)應(yīng)用中的圖片放大縮小,關(guān)系一至。

四、目的

  1.我們要的結(jié)果,是右邊的圖片大小和顯示位置(顯示位置,下次再說,正在研究中);

五、具體的算法:

  左圖和右圖寬:一樣300PX;

  左圖和右圖高:一樣300PX;

  左圖顯示區(qū)域:寬300PX,高300PX

  右圖顯示區(qū)域:寬100PX,高100PX

  選中區(qū)域的寬設(shè)為:selection.width(具體怎么獲得這個(gè)值,我也正在分析當(dāng)中。先設(shè)為一個(gè)末知數(shù))

  選中區(qū)域的高設(shè)為:selection.Height(具體怎么獲得這個(gè)值,我也正在分析當(dāng)中。先設(shè)為一個(gè)末知數(shù))

  寬的比例值設(shè)為:scaleX(具體怎么獲得這個(gè)值,我也正在分析當(dāng)中。先設(shè)為一個(gè)末知數(shù))

  高的比例值設(shè)為:scaleX(具體怎么獲得這個(gè)值,我也正在分析當(dāng)中。先設(shè)為一個(gè)末知數(shù))

  這里一共有四個(gè)東西要理清,才能確定下面的公式。

  a、 左圖、右圖的大小   (寬度都是相同)

  b、 左邊顯示區(qū)域?qū)捀?  (300PX*300PX)

  c.、右邊顯示區(qū)域?qū)捀摺 ?(100px*100px)

  d.、選擇區(qū)域的寬高值:  (這個(gè)是通過JQ獲得selection.width,selection.Height)

  5.1獲得比例值:

  分母:根據(jù)第三點(diǎn),那么選中區(qū)域的寬:selection.width 和 選中區(qū)域的高:selection.Height肯定是分母了,因?yàn)楦鶕?jù)實(shí)例分析,他倆的值越大,右邊的圖應(yīng)該越小。

  分子:100px。也就是右邊顯示區(qū)域的寬度值。

    為什么是它的值?我們的目的是要改變右邊圖片的寬或高的值,為什么會(huì)與顯示區(qū)域的寬度值相關(guān)聯(lián)呢?

   這三者系一定要弄清。[“選擇區(qū)域大小”、“右邊顯示區(qū)域大小”、“右邊圖片大小”];

   選擇區(qū)域越大,超過了右邊顯示區(qū)域的大小,那么右邊圖片要想在這個(gè)區(qū)域中顯示,只能縮小圖片。

   (一個(gè)容器A只能裝100*100的東西,現(xiàn)在你要放B200*200的東西,那么容器不變,只能把東西變小了)

   反之選擇區(qū)域越小,小于右邊顯示區(qū)域的大小,那么右邊圖片要想在這個(gè)區(qū)域填滿顯示,只能大放圖片。

  ?。ㄒ粋€(gè)容器A只能裝100*100的東西,現(xiàn)在你要放B50*50的東西,那么容器不變,只能把東西變大了,才能填滿整個(gè)容器)

   選擇區(qū)域小大,等于右邊顯示區(qū)域大小,不用放大或縮小,剛剛好;

   (一個(gè)容器A只能裝100*100的東西,現(xiàn)在你要放B100*100的東西,那么容器不變,東西也不變,剛好填滿整個(gè)容器)

  得出:

  寬的比例值設(shè)為:scaleX = 100 / selection.width;

  高的比例值設(shè)為:scaleX = 100 / selection.height; 

  5.2 計(jì)算右邊圖片的大?。?/p>

  用得到的這個(gè)比例值,去乘以右邊圖片的寬高,這里的300正是右邊圖片的寬和高,左邊和右邊是同一個(gè)圖片。寬度是一樣的。

  右邊圖片的width: Math.round(scaleX * 300),

  右邊圖片的height: Math.round(scaleY * 300),

六、問題:

  selection.width;

  selection.height

  這兩個(gè)值如何獲得?

  我是想先把宏觀的大的東西弄清楚,以后再專門寫幾篇有關(guān)如何獲得這個(gè)里面關(guān)鍵的值的分析。

  必竟這個(gè)插件很大,代碼很多復(fù)雜,所以只能一步一步的深入了。

這是插件網(wǎng)址:http://odyniec.net/projects/imgareaselect/

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家有所幫助,有興趣的可以看下《利用jQuery插件imgAreaSelect實(shí)現(xiàn)圖片上傳裁剪(同步顯示圖像位置信息)》,謝謝對(duì)腳本之家的支持!

相關(guān)文章

  • 比較不錯(cuò)的JS/JQuery顯示或隱藏文本的方法

    比較不錯(cuò)的JS/JQuery顯示或隱藏文本的方法

    這篇文章主要介紹了JS/JQuery顯示或隱藏文本方法,需要的朋友可以參考下
    2014-02-02
  • jquery驗(yàn)證手機(jī)號(hào)碼、郵箱格式是否正確示例代碼

    jquery驗(yàn)證手機(jī)號(hào)碼、郵箱格式是否正確示例代碼

    本文為大家介紹下使用jquery驗(yàn)證郵箱、驗(yàn)證手機(jī)號(hào)碼,具體實(shí)現(xiàn)思路及代碼如下,感興趣的朋友可以學(xué)習(xí)下
    2013-07-07
  • jQuery getJSON()+.ashx 實(shí)現(xiàn)分頁(yè)(改進(jìn)版)

    jQuery getJSON()+.ashx 實(shí)現(xiàn)分頁(yè)(改進(jìn)版)

    參考了上一篇Asp .net +jquery +.ashx 文件實(shí)現(xiàn)分頁(yè)并作了改進(jìn):ashx返回json數(shù)據(jù),減少傳輸數(shù)據(jù)量,html頁(yè)面樣式控制也比較靈活,感興趣的朋友可以參考下哈
    2013-03-03
  • 深入理解$.each和$(selector).each

    深入理解$.each和$(selector).each

    下面小編就為大家?guī)硪黄钊肜斫?.each和$(selector).each。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • jquery獲取一組checkbox的值(實(shí)例代碼)

    jquery獲取一組checkbox的值(實(shí)例代碼)

    使用jquery獲取一組checkbox的值實(shí)例代碼。需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-11-11
  • jQuery模擬html下拉多選框的原生實(shí)現(xiàn)方法示例

    jQuery模擬html下拉多選框的原生實(shí)現(xiàn)方法示例

    這篇文章主要介紹了jQuery模擬html下拉多選框的原生實(shí)現(xiàn)方法,結(jié)合完整實(shí)例形式分析了jQuery動(dòng)態(tài)操作頁(yè)面元素實(shí)現(xiàn)select下拉框效果的相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 使用jquery實(shí)現(xiàn)IE下按backspace相當(dāng)于返回操作

    使用jquery實(shí)現(xiàn)IE下按backspace相當(dāng)于返回操作

    后退鍵在各瀏覽器下默認(rèn)為點(diǎn)擊了一下后退按鈕,下面為大家介紹下如何實(shí)現(xiàn)實(shí)現(xiàn)IE下按backspace相當(dāng)于返回操作,需要的朋友可以參考下
    2014-03-03
  • 基于jquery自定義圖片熱區(qū)效果

    基于jquery自定義圖片熱區(qū)效果

    前陣子接到個(gè)需求,聯(lián)通網(wǎng)上營(yíng)業(yè)廳經(jīng)常需要專題頁(yè)面做宣傳,但是由于專題頁(yè)面會(huì)有按鈕,以及各個(gè)圖片的鏈接,省分的人沒有html基礎(chǔ),沒人維護(hù),量又比較大,需要開發(fā)出一個(gè)可自定義圖片熱區(qū)鏈接的后臺(tái),于是就有了這個(gè)
    2012-07-07
  • jQuery Ajax使用實(shí)例

    jQuery Ajax使用實(shí)例

    這篇文章主要介紹了jQuery Ajax使用實(shí)例,本文講解了$.ajax的一般格式、$.ajax的參數(shù)描述、$.ajax需要注意的一些地方、$.ajax我的實(shí)際應(yīng)用例子,需要的朋友可以參考下
    2015-04-04
  • jQuery基于閉包實(shí)現(xiàn)的顯示與隱藏div功能示例

    jQuery基于閉包實(shí)現(xiàn)的顯示與隱藏div功能示例

    這篇文章主要介紹了jQuery基于閉包實(shí)現(xiàn)的顯示與隱藏div功能,結(jié)合實(shí)例形式分析了jQuery使用閉包實(shí)現(xiàn)的div顯示及隱藏相關(guān)判定與函數(shù)使用技巧,需要的朋友可以參考下
    2018-06-06

最新評(píng)論