J'essaie de comprendre comment corriger la taille de la boîte de sélection sous JCrop. La documentation mentionne comment définir une zone de sélection initiale mais pas comment lui donner une taille fixe. Est-ce que quelqu'un sait comment pourrais-je le réparer? Merci d'avance.
Vous recherchez essentiellement la section API. Ayant largement utilisé ce plugin moi-même, je sais exactement ce que vous recherchez:
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]);
});
vous pouvez définir l'aspectRatio comme valeur décimale
$('#jcrop_target').Jcrop({
setSelect: [0,0,150,100],
aspectRatio: 150/100
});
Vous pouvez utiliser l'option aspectRatio. Cela forcera une sélection carrée
$(function(){
$('#cropbox').Jcrop({
aspectRatio: 1
});
});
Ou aspectRatio: 16/9 le rendrait large :-)
En utilisant cet exemple vous devriez pouvoir garder la taille fixe.
$(function(){
$('#jcrop_target').Jcrop({
onChange: function(){ $(this).setSelect([x, y, x2, y2]); }
});
});
aspectRatio: 1,
minSize: [ 100, 100 ],
maxSize: [ 100, 100 ]
C'est remarquablement facile ...
allowResize: false
par exemple.
$(function(){
$("#CropSource").Jcrop({
aspectRatio: 1,
setSelect: [50, 0, 300,300],
allowResize: false
});
});
Salut, cela pourrait être utile -
<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>