30

我试图弄清楚如何修复 JCrop 下的选择框大小。该文档提到了如何设置初始选择区域,但没有提到如何使其固定大小。有谁知道我怎样才能修复它。提前致谢。

http://deepliquid.com/content/Jcrop_Manual.html

4

7 回答 7

37

您基本上是在寻找 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]);

});
于 2010-01-20T15:25:50.127 回答
14

您可以使用 aspectRatio 选项。这将强制进行方形选择

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

或 aspectRatio: 16/9 将使其宽屏:-)

于 2009-07-31T05:13:40.553 回答
14

您可以将 aspectRatio 设置为十进制值

$('#jcrop_target').Jcrop({
    setSelect: [0,0,150,100],
    aspectRatio: 150/100
});
于 2010-02-08T21:32:27.967 回答
6

使用此示例,您应该能够保持大小固定。

$(function(){
    $('#jcrop_target').Jcrop({
        onChange: function(){ $(this).setSelect([x, y, x2, y2]); }
    });
});
于 2008-12-06T14:08:05.627 回答
6
aspectRatio: 1,
minSize: [ 100, 100 ],
maxSize: [ 100, 100 ]
于 2012-07-07T22:18:53.333 回答
4

这非常容易...

allowResize: false

例如

$(function(){
    $("#CropSource").Jcrop({
        aspectRatio: 1,
        setSelect:   [50, 0, 300,300],
        allowResize: false
    });
});
于 2013-05-22T09:49:39.647 回答
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>
于 2011-03-09T07:08:12.480 回答