Как я могу динамически установить соотношение размеров изображения в зависимости от возвращаемого изображения в Raphael? - PullRequest
3 голосов
/ 20 октября 2010

Как я могу динамически установить соотношение размеров изображения в зависимости от возвращаемого изображения в Raphael?

Вот код, чтобы дать вам представление:

var viewer = Raphael(0,0,scrWidth, scrHeight);
viewer.image(dynamicUrl, 140, 140,300, scaledHeight);

Спасибо

1 Ответ

5 голосов
/ 22 октября 2010

Вы можете загрузить изображение вне DOM и получить его размеры ... Вы можете поместить это в функцию:

var myImg = new Image();
myImg.src = dynamicUrl;
myImg.onload = function() {
    var width = myImg.width;
    var height = myImg.height;
    var scale = 0.5; // for example

    var viewer = Raphael(0,0,width, height);  // or whatever other size
    viewer.image(dynamicUrl, 0, 0, width*scale, height*scale); // scale image
        // after the image is in the viewer you can use .scale()
}

jsFiddle

Теперь выможно делить или умножать width и height в масштабе.Убедитесь, что вы обращаете внимание на время.

Также, когда изображение в Рафаэле, вы можете использовать .scale()

...