2008-12-06 73 views

回答

6

使用this example你应该能够保持固定的大小。

$(function(){ 
    $('#jcrop_target').Jcrop({ 
     onChange: function(){ $(this).setSelect([x, y, x2, y2]); } 
    }); 
}); 
+1

这似乎是通过在更改事件完成触发后强制调整大小来设置固定大小的裁剪区域的一种相当不便的方式。 – 2010-01-20 15:35:10

13

您可以使用aspectRatio选项。这将迫使方选择

$(function(){ 
    $('#cropbox').Jcrop({ 
     aspectRatio: 1 
    }); 
}); 

或者的aspectRatio:16/9将使广sreeen :-)

+0

正方形与固定尺寸不同。 – 2010-01-20 15:34:20

+1

然后,他应该使用类似 minSize属性:[100,150], MAXSIZE:[100,150] http://deepliquid.com/content/Jcrop_Manual.html 指定为分钟和相同的尺寸最大 – 2010-01-21 05:11:16

36

你基本上是寻找API部分。已经广泛使用这个插件自己,我知道你在寻找什么:

var api; 
var cropWidth = 100; 
var cropHeight = 100; 

$(window).load(function() { 

    // set default options 
    var opt = {}; 

    // if height and width must be exact, dont allow resizing 
    opt.allowResize = false; 
    opt.allowSelect = false; 

    // initialize jcrop 
    api = $.Jcrop('#objectId', opt); 

    // set the selection area [left, top, width, height] 
    api.animateTo([0,0,cropWidth,cropHeight]); 

    // you can also set selection area without the fancy animation 
    api.setSelect([0,0,cropWidth,cropHeight]); 

}); 
14

可以设置的aspectRatio为十进制值

$('#jcrop_target').Jcrop({ 
    setSelect: [0,0,150,100], 
    aspectRatio: 150/100 
}); 
1

嗨,这可能是有益的 -

<script> 
$(window).load(function() { 
    var jcrop_api; 
    var i, ac; 

    initJcrop(); 

    function initJcrop() { 
      jcrop_api = $.Jcrop('#imgCrop', { 
      onSelect: storeCoords, 
      onChange: storeCoords 
      }); 
      jcrop_api.setOptions({ aspectRatio: 1/ 1 }); 
      jcrop_api.setOptions({ 
      minSize: [180, 180], 
      maxSize: [180, 250] 
     }); 
     jcrop_api.setSelect([140, 180, 160, 180]); 
    }; 
    function storeCoords(c) { 
    jQuery('#X').val(c.x); 
    jQuery('#Y').val(c.y); 
    jQuery('#W').val(c.w); 
    jQuery('#H').val(c.h); 
    };   
}); 
</script> 
5
aspectRatio: 1, 
minSize: [ 100, 100 ], 
maxSize: [ 100, 100 ] 
4

这非常容易...

allowResize: false 

例如

$(function(){ 
    $("#CropSource").Jcrop({ 
     aspectRatio: 1, 
     setSelect: [50, 0, 300,300], 
     allowResize: false 
    }); 
});