Всем привет.
Загружаю изображения ajax'ом, и могу их кропить Jcrop.
Когда загружаю изображение других соотношений, то новое адаптируется под размер старого и искажается визуально. Если убрать Jcrop, то все отлично. destroy не помогает.
/* Jcrop Start */
var x1, y1, x2, y2;
var jcrop_api;
$('#currentImage').Jcrop({
onChange: showCoords,
onSelect: showCoords,
aspectRatio: 315 / 144,
minSize: [315, 144 ]
},function(){
jcrop_api = this;
});
$('#release').click(function(e) {
$('#isCrop').val(0);
jcrop_api.release();
});
/* Jcrop End */
$("#loadImage").click(function () {
jcrop_api.destroy();
var formData = new FormData($('#newsForm')[0]);
$.ajax({
url: 'admin.php?r=admin/picture/load',
type: 'POST',
data: formData,
dataType: 'json',
async: false,
success: function (data) {
$("#currentImage").attr('src', data.imageUrl);
$("#imageUrl").val(data.imageUrl);
$(".jcrop-holder").remove();
$('#currentImage').Jcrop({
onChange: showCoords,
onSelect: showCoords,
aspectRatio: 315 / 144,
minSize: [315, 144 ]
});
},
cache: false,
contentType: false,
processData: false
});
return false;
});
<span class="btn btn-default btn-file">Выберите файл <?php echo $form->fileField($model, 'image'); ?></span>
<input type="hidden" id="imageUrl" name="News[newimage]" <?php if($model->image) echo 'value="'.$model->image.'"'; ?>>
<button id="loadImage" class="btn btn-info" onclick="return(false)">Загрузить</button>
<button id="release" class="btn btn-warning" onclick="return(false)" >Отменить выделение</button>