javascript截圖 jQuery插件imgAreaSelect使用詳解

字號(hào):


    這篇文章主要介紹了avascript截圖 jQuery插件imgAreaSelect使用詳解,需要的朋友可以參考下
    為了使用戶能自定義個(gè)人頭像,需要提供一個(gè)對(duì)上傳圖片的截圖功能,當(dāng)前很多網(wǎng)站特別是SNS類網(wǎng)站都提供這樣的功能,非常實(shí)用。主要實(shí)現(xiàn)的形式有兩種,一種是flash截圖,另一種就是javascript截圖,兩種方法各有秋千,關(guān)于Flash截圖可以參考一下UcHome程序中頭像上傳功能,但這不是我要討論的話題,我這里主要是如何實(shí)現(xiàn)javascript截圖,利用jQuery的imgAreaSelect插件,輕松實(shí)現(xiàn)自定義頭像[avatar]javascript截圖功能。
    一,準(zhǔn)備:
    兩個(gè)JS文件
    1,jquery.js 下載:jquery.js
    2,jquery.imgareaselect.js 下載:jquery.imgareaselect.js[imgareaselect-0.6.2.zip]
    二,使用
    function preview(img, selection){
    var scaleX = 100 / selection.width;
    var scaleY = 100 / selection.height;
    //動(dòng)態(tài)小頭像 獲取當(dāng)前選中框的寬度,高度,左邊框,右邊框
    $('#biuuu + div > img').css({
    width: Math.round(scaleX * 400) + 'px',
    height: Math.round(scaleY * 300) + 'px',
    marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',
    marginTop: '-' + Math.round(scaleY * selection.y1) + 'px'
    });
    }
    //加載小頭像
    $(document).ready(function () {
    $('<div><img src="biuuu.jpg" /></div>')
    .css({
    float: 'left',
    position: 'relative',
    overflow: 'hidden',
    width: '100px',
    height: '100px'
    })
    .insertAfter($('#biuuu'));
    });
    //初始化加載
    $(window).load(function () {
    $('#biuuu').imgAreaSelect({ aspectRatio: '1:1', onSelectChange: preview });
    });
    三,調(diào)用
    <div>
    <p>
    <img id="biuuu" src="biuuu.jpg" />
    </p>
    </div>
    使用上面的javascript截圖進(jìn)行擴(kuò)展可以實(shí)現(xiàn)很多的動(dòng)態(tài)功能,jQuery提供的imgAreaSelect插件調(diào)用非常簡(jiǎn)單,其它相關(guān)應(yīng)用可參考:imgAreaSelect Examples
    使用jQuery插件imgAreaSelect實(shí)現(xiàn)javascript截圖還是非常簡(jiǎn)單的,基本上就是一個(gè)動(dòng)態(tài)的圖像顯示,獲取源圖片的位置和選取框的大小[寬度和高度],輕松實(shí)現(xiàn)javascript截圖功能。