2015-02-23 4 views
0

У меня есть функция кадрирования на моем сайте.Рассчитать пропорции обрезки изображений

enter image description here

Таким образом, проблема заключается в том, что реальный размер фото больше, что кадрирования области, и когда я пытаюсь получить фактический результат этого действия кадрирования я получить пропорции от видимого - с измененным размером в CSS - область а не от оригинального размера этого изображения. Как рассчитать долю урожая от размера к реальному размеру этого изображения.

Я делаю это, но он не работает правильно, должен ли я использовать некоторую функцию Math или что-нибудь, кто-нибудь может помочь?

var width = img.width; 
var height = img.height; 

// c.x, c.y, c.w, c.h is cropping coords which i recive from crop plugin callback function 
// 360 is modal window size, resized area for displaying img 

function showCoords(c) { 
    cords_node = { 
     "x": c.x , 
     "y": c.y, 
     "width": width < c.w ? c.w : (width/360) * c.w, 
     "height": height < c.h ? c.w : (width/360) * c.w 
     /*x2: c.x2, 
     y2: c.y2*/ 
    }; 
    return cords_node; 
} 

ответ

2

Узнайте соотношение изменения:

// find the ratio of change in H and W... 
var ratioW = $('.image')[0].naturalWidth/$('.image').width(); 
var ratioH = $('.image')[0].naturalHeight/$('.image').height(); 
var ratio = Math.min(ratioW, ratioH); 
// now.. multiply all your coords by 'ratio' 
// ... 
+0

спасибо !! это работает как шарм! .. –

Смежные вопросы