Упёрся в стену.
Жабаскриптом создаю и загружаю изображение и устанавливаю экранный размер в %. Нужно получить получившийся экранный размер в пикселях (задача — выделить кусок под crop при помощи
imgAreaSelect )
function loadImage(containerID, imageID, imagePath, imageClass, ahref, callback)
{
var img = $('<img>');
img.attr('id', "image_" + imageID);
img.addClass(imageClass);
img.load(function()
{
$("#" + containerID).removeClass("loading");
if(ahref === undefined)
{
$("#" + containerID).append(img);
}
else
{
$("#" + containerID).append("<a href='" + ahref + "' id='link_" + imageID + "'></a>");
$("#link_" + imageID).append(img);
}
if(callback !== undefined)
{
callback();
console.log(img.width()) // <-- всегда возвращает 0
}
});
img.attr('src', imagePath);
}
imgAreaSelect инициализирую так:
function initCropEdit(canvasImageID, formName, iWidth, iHeight, resultWidth, resultHeight)
{
$('#image_' + canvasImageID).imgAreaSelect(
{
x1: $('form[name="' + formName + '"] input[name="left_top_x"]').val(),
y1: $('form[name="' + formName + '"] input[name="left_top_y"]').val(),
x2: $('form[name="' + formName + '"] input[name="right_bottom_x"]').val(),
y2: $('form[name="' + formName + '"] input[name="right_bottom_y"]').val(),
parent: '#' + canvasImageID + '_container',
aspectRatio: resultWidth + ':' + resultHeight,
imageWidth: iWidth,
imageHeight: iHeight,
onSelectEnd: function (img, selection)
{
$('form[name="' + formName + '"] input[name="left_top_x"]').val(selection.x1);
$('form[name="' + formName + '"] input[name="left_top_y"]').val(selection.y1);
$('form[name="' + formName + '"] input[name="right_bottom_x"]').val(selection.x2);
$('form[name="' + formName + '"] input[name="right_bottom_y"]').val(selection.y2);
}
});
}
imgAreaSelect не смог самостоятельно вычислять размер изображения для преобразования реальных размеров изображения в экранные и обратно, начал копать. Похоже оно не может вычислить размер экранного изображения. Пробовал по разному, ничего не получается
может совсем в другом дело? Я уже совсем запутался