2016-01-06 98 views
0

允許用戶在我的網站上傳圖片。我調整基於其高度和寬度的形象,這是我的JQuery(imgSize是高度和imgSize2是寬度):JCrop不按預期裁剪圖像

... 
... 
if (imgSize > 252 && imgSize2 <= 320) { 
    var imgwidth = $("#previewSub2").width(); 
    var imgheight = $("#previewSub2").height(); 
    $("#previewSub").css("height", "220px"); 
    $("#previewSub").css("width", "auto"); 
    $("#previewSub").Jcrop({ 
     onChange: showPreview, 
     onSelect: showPreview, 
     aspectRatio: 1, 
     setSelect: [0,imgwidth+100,0,0], 
     minSize: [90,90], 
     addClass: 'jcrop-light' 
    }); 
} 

通知我已經改變了IMG #previewSub的高度和寬度。現在這裏是我的JCrop代碼的其餘部分:

function showPreview(coords) 
{ 
    $('#x').val(coords.x); 
    $('#y').val(coords.y); 
    $('#w').val(coords.w); 
    $('#h').val(coords.h); 

    var rx = 150/coords.w; 
    var ry = 150/coords.h; 
    var imgSize = $("#previewSub").height(); 
    var imgWidth = $("#previewSub").width(); 
    $('#previewSub2').css({ 
     width: Math.round(rx * imgWidth) + 'px', 
     height: Math.round(ry * imgSize) + 'px', 
     marginLeft: '-' + Math.round(rx * coords.x) + 'px', 
     marginTop: '-' + Math.round(ry * coords.y) + 'px' 
    }); 
} 

當我使用php捕獲新裁剪的圖像時,裁剪關閉。它收穫的遠遠超過它應該的。有什麼方法可以規避這個問題?問題是由於我調整了img #previewSub的大小?

回答

0

您應該添加的真實大小的Jcrop設置:

trueSize: [imgwidth, imgheight], 
+0

並沒有解決這個問題完全是,我不得不這樣做'[imgwidth + 200,+ imgheight 200]',它似乎對工作一個圖像到目前爲止 – Bolboa