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