JQuery JCrop - 如何设置固定大小的选择区域?

时间:2008-12-06 07:17:23

标签: jquery crop jcrop

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

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

7 个答案:

答案 0 :(得分: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]);

});

答案 1 :(得分:14)

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

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

答案 2 :(得分:13)

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

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

或者aspectRatio:16/9会让它变宽: - )

答案 3 :(得分:6)

使用this example,你应该可以保持大小固定。

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

答案 4 :(得分:5)

aspectRatio: 1,
minSize: [ 100, 100 ],
maxSize: [ 100, 100 ]

答案 5 :(得分:4)

非常容易......

allowResize: false

e.g。

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

答案 6 :(得分: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>