В настоящее время я использую Jcrop, чтобы пользователь обрезал изображение. Они могут выбрать изображение, изображение загрузится в миниатюру и покажет, как будет выглядеть обрезанное изображение.Jcrop изображение не отображается правильно в предварительном просмотре
У меня было это работать, когда я тестировал его на локальном хостинге с помощью Wamp-сервера, но как только я загрузил его на мою сторону Wordpress, просмотр поступил неправильно. Вот скриншот того, как он выглядит, когда он идет не так: image Черные линии показывают общую ширину миниатюры, поскольку вы можете видеть, что выбор урожая искажен и выходит из миниатюры.
Я посмотрел на diffrence в элементе проверки на моем localhost и моем сайте Wordpress и обнаружил, что элемент ширины и высоты составляет примерно половину загружаемого изображения, на моем локальном хосте он получает точную ширину и высота изображения.
Вот мои настройки Jcrop я использовать и любой другой код, который может иметь отношение:
$(document).ready(function(){
$('#preview').Jcrop({
onChange: function(coords){showPreview(coords, origWidth, origHeight, thumnailWidth, thumbnailHeight)},
onSelect: function(coords){showPreview(coords, origWidth, origHeight, thumnailWidth, thumbnailHeight)},
onRelease: function(){releaseCheck(minWidth, minHeight)},
boxWidth: 400,
bgColor: 'white',
allowSelect: 'false',
setSelect: [0, 0, minWidth, minHeight],
minSize: [ minWidth, minHeight ],
aspectRatio: minWidth/minHeight
}, function(){
jcrop_api = this;
});
$('#thumbnail-div').css({"width" : thumnailWidth, "height" : thumbnailHeight, "background-image" : "url(" + achtergrondLink + ")"});
$('#thumbnail').css({"opacity" : "0.7"});
});
Значение MinWidth и MinHeight является минимальным количеством пикселей выбор культур должен быть иначе изображение будет слишком низким разрешающая способность. Плагин jcrop автоматически рассчитает, как масштабировать изображение в поле. Ширина и высота эскиза - это переменные, которые заданы.
Это функция showpreview, которая будет выполняться каждый раз, когда область обрезки будет изменена или будет выбрана.
function showPreview(c, origWidth, origHeight, thumnailWidth, thumbnailHeight){
$('#x1').val(c.x);
$('#y1').val(c.y);
$('#x2').val(c.x2);
$('#y2').val(c.y2);
$('#w').val(c.w);
$('#h').val(c.h);
var rx = thumnailWidth/c.w;
var ry = thumbnailHeight/c.h;
$('#thumbnail').css({
width: Math.round(rx * origWidth) + 'px',
height: Math.round(ry * origHeight) + 'px',
marginLeft: '-' + Math.round(rx * c.x) + 'px',
marginTop: '-' + Math.round(ry * c.y) + 'px'
});
}
Здесь также ссылка на весь код, который я использую. Я помещаю все в 1 файл и теги скриптов. Full source code
Ваш ответ неправильный, но вы все равно исправили его, я смотрел на ваш фрагмент, и я remmebered, что мне нужно было сделать –
Я думал, что вы выпускаете два черные линии. – vel
Нет черных линий, где можно указать ширину области миниатюр. –