同事推薦了Jcrop這個插件,到它的官方站點http://deepliquid.com/content/Jcrop.html下載了最新版的壓縮包,壓縮包中包括了Jcrop的幾個demo文件,關鍵的Jcrop.js文件和jQuery.Jcrop.css文件。基本上來說參照它的幾個demo文件就可以學會使用這個插件了。晚上正好學習研究了下,現簡單總結如下,也方便下英文不好的朋友們。
使用插件必須條件:引入jQuery.js文件,引入jQuery.Jcrop.js文件,引入JQuery.Jcrop.css文件。
1.最基本使用方法
html代碼部分:
代碼如下:
<img src="demo_files/flowers.gif" id="demoImage"/>
js部分:
代碼如下:
$(
function()
{
$("#demoImage").Jcrop();
}
);
這樣就可以在圖片上進行裁剪了。
2.得到選中區域的坐標以及回調函數
html代碼部分如下:
代碼如下:
<img src="demo_files/flowers.jpg" id="demoImage" />
<label>x1</label><input type="text" id="txtX1" />
<label>y1</label><input type="text" id="txtY1" />
<label>x2</label><input type="text" id="txtX2" />
<label>y2</label><input type="text" id="txtY2" />
<label>width</label><input type="text" id="txtWidth" />
<label>height</label><input type="text" id="txtHeight" />
js代碼部分如下:
代碼如下:
$(
function() {
//事件處理
$("#demoImage").Jcrop(
{
onChange:showCoords, //當選擇區域變化的時候,執行對應的回調函數
onSelect:showCoords //當選中區域的時候,執行對應的回調函數
}
);
}
);
function showCoords(c) {
$("#txtX1").val(c.x); //得到選中區域左上角橫坐標
$("#txtY1").val(c.y); //得到選中區域左上角縱坐標
$("#txtX2").val(c.x2); //得到選中區域右下角橫坐標
$("#txtY2").val(c.y2); //得到選中區域右下角縱坐標
$("#txtWidth").val(c.w); //得到選中區域的寬度
$("#txtHeight").val(c.h); //得到選中區域的高度
}
3.常用選項設置
aspectRatio:選中區域按寬/高比,為1表示正方形。
minSize:最小的寬,高值。
maxSize:最大的寬,高值。
setSelect:設置初始選中區域。
bgColor:背景顏色
bgOpacity:背景透明度。
allowResize:是否允許改變選中區域大小。
allowMove:是否允許移動選中區域。
舉例如下:
代碼如下:
$(
function() {
$("#demoImage").Jcrop({
aspectRatio: 1, //選中區域寬高比為1,即選中區域為正方形
bgColor:"#ccc", //裁剪時背景顏色設為灰色
bgOpacity:0.1, //透明度設為0.1
allowResize:false, //不允許改變選中區域的大小
setSelect:[0,0,100,100] //初始化選中區域
}
);
}
);
4.api用法
代碼如下:
var api = $.Jcrop("#demoImage");
api.disable(); //設置為禁用裁剪效果
api.enable(); //設置為啟用裁剪效果
api.setOptions({allowResize:false});//設置相應配置
api.setSelect([0,0,100,100]); //設置選中區域