fabricjs: показать часть изображения с оригинальным размером внутри определенной ширины и высоты - PullRequest
0 голосов
/ 26 сентября 2018

Я использую версию fabricjs 1.6.7.Я хочу добиться чего-то сложного.Как и свойство css background-position, я хочу расположить изображение внутри определенной ширины и высоты.То, что я получаю, это полное изображение внутри ширины и высоты.Изображение сжимается.Я хочу сохранить исходный размер изображения и показать только часть изображения, которая соответствует определенной ширине и высоте относительно свойства background-position.Я пытался поддерживать соотношение сторон и точную посадку.Но оба случая не дают мне решения.Вот что я попробовал:

if(pattern.name == 'Maintain Aspect') {
    var ih = obj.getOriginalSize().height;
    var iw = obj.getOriginalSize().width;
    var cw = obj.width;
    var ch = obj.height;
    var width_ratio  = cw  / iw;
    var height_ratio = ch / ih;
    var fw,fh;
    if (width_ratio > height_ratio) {
        fw = iw * width_ratio;
        fh = ih*fw/iw;
    } else {
        fh = ih * height_ratio;
        fw = iw*fh/ih;    
    }
    obj.width = fw;
    obj.height = fh;
    canvas.renderAll();
} else if(pattern.name == 'Exact Fit') {
    obj.width = (40/100)*canvas.width;
    obj.height = (40/100)*canvas.height;
    obj.scaleX = 1;
    canvas.renderAll();
}

Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...