A simple jQuery image cropping plugin.
... <div class="img-container"> <img src="img/picture.jpg"> </div> ... ... <div class="img-preview preview-lg"></div> <div class="img-preview preview-md"></div> <div class="img-preview preview-sm"></div> <div class="img-preview preview-xs"></div> ...
$(".img-container > img").cropper({
aspectRatio: 16 / 9,
preview: ".img-preview",
crop: function(data) {
$("#dataX").val(Math.round(data.x));
$("#dataY").val(Math.round(data.y));
$("#dataHeight").val(Math.round(data.height));
$("#dataWidth").val(Math.round(data.width));
$("#dataRotate").val(Math.round(data.rotate));
}
});
<div class="cropper-example-1"> <img src="img/picture.jpg" alt="Picture"> </div>
$('.cropper-example-1 > img').cropper({
aspectRatio: 16 / 9,
autoCropArea: 0.65,
strict: false,
guides: false,
highlight: false,
dragCrop: false,
movable: false,
resizable: false
});
Demo:
HTML:
<div class="modal fade" id="cropper-example-2-modal">
<div class="modal-dialog">
<div class="modal-content">
...
<div class="modal-body">
<div id="cropper-example-2">
<img src="img/picture.jpg" alt="Picture">
</div>
</div>
...
</div>
</div>
</div>
JavaScript:
var $image = $('#cropper-example-2 > img'),
cropBoxData,
canvasData;
$('#cropper-example-2-modal').on('shown.bs.modal', function () {
$image.cropper({
autoCropArea: 0.5,
built: function () {
// Strict mode: set crop box data first
$image.cropper('setCropBoxData', cropBoxData);
$image.cropper('setCanvasData', canvasData);
}
});
}).on('hidden.bs.modal', function () {
cropBoxData = $image.cropper('getCropBoxData');
canvasData = $image.cropper('getCanvasData');
$image.cropper('destroy');
});
This example requires a PHP server to upload and crop image. Please download and test it.