2008-12-06 38 views
27

Tôi đang cố gắng tìm ra cách khắc phục kích thước hộp chọn trong JCrop. Tài liệu hướng dẫn cách đặt vùng chọn ban đầu nhưng không làm cách nào để đặt kích thước cố định. Có ai biết làm thế nào tôi có thể làm cho nó cố định. Cảm ơn trước.JQuery JCrop - Cách đặt vùng chọn kích thước cố định?

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

+0

Tôi muốn sử dụng tỷ lệ khung hình cố định và thay đổi kích thước phía máy chủ. – Svish

Trả lời

6

Sử dụng this example bạn sẽ có thể để giữ cho kích thước cố định.

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

Điều đó có vẻ giống như một cách khá hackish của việc thiết lập một khu vực cắt kích thước cố định bằng cách buộc một thay đổi kích thước sau khi sự kiện thay đổi đã hoàn thành bắn. –

13

Bạn có thể sử dụng tùy chọn aspectRatio. Điều này sẽ buộc một vùng chọn hình vuông

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

Hoặc co: 16/9 sẽ làm cho nó rộng sreeen :-)

+0

Hình vuông không giống với kích thước cố định. –

+1

Sau đó, anh ấy nên sử dụng một cái gì đó như minSize: [100, 150], maxSize: [100, 150] http://deepliquid.com/content/Jcrop_Manual.html Chỉ định cùng kích thước cho min và max –

36

Bạn đang tìm kiếm cơ bản phần API. Sau khi sử dụng rộng rãi plugin này bản thân mình, tôi biết chính xác những gì bạn đang tìm kiếm:

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

Tôi tìm thấy [demo này] (http://deepliquid.com/projects/Jcrop/demos/tutorial5.html) hiển thị toàn bộ tính năng của jCrop khá độc đáo. – quickshiftin

+0

@Corey Ballou, Chúng ta có thể thêm một hình chữ nhật hoặc bất kỳ hình dạng nào khác bằng JCROP js không? – Arjun

14

bạn có thể thiết lập các co như giá trị thập phân

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

Hi này có thể hữu ích -

<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> 
5
aspectRatio: 1, 
minSize: [ 100, 100 ], 
maxSize: [ 100, 100 ] 
4

Thật dễ dàng ...

allowResize: false 

ví dụ:

$(function(){ 
    $("#CropSource").Jcrop({ 
     aspectRatio: 1, 
     setSelect: [50, 0, 300,300], 
     allowResize: false 
    }); 
}); 
Các vấn đề liên quan