Yo sinceramente de todo lo que habéis dicho me quedo con la opción que que pudiste más arriba
Cropper, me parece bastante completa además de ser responsive y soportar los touch para moviles.
En cuanto a la subida de archivos en el mismo github de cropper puedes ver un ejemplo para realizar lo mediante ajax.
Te dejo el ejemplo que aparece por aquí.
Código Javascript
:
Ver original// Upload cropped image to server if the browser supports `HTMLCanvasElement.toBlob`
$().cropper('getCroppedCanvas').toBlob(function (blob) {
var formData = new FormData();
formData.append('croppedImage', blob);
$.ajax('/path/to/upload', {
method: "POST",
data: formData,
processData: false,
contentType: false,
success: function () {
console.log('Upload success');
},
error: function () {
console.log('Upload error');
}
});
});