Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Fabric.js. Как изменить размер заливки объекта? (https://javascript.ru/forum/library-toolkit-framework/73085-fabric-js-kak-izmenit-razmer-zalivki-obekta.html)

jrmobile 20.03.2018 12:27

Fabric.js. Как изменить размер заливки объекта?
 
Добрый день, уважаемые эксперты. Помогите справиться с затыком, пожалуйста.

В приложении на fabric.js динамически меняется размер объектов rect. Также динамически нужно менять заполнение картинкой этих rect. А то получается вот так. Заливка меньше формы.

введите сюда описание изображения

Я пробую несколько вариантов и ни один не работает. Вот первый

rect.setWidth(width_h);
rect.setHeight(height_v);


if (rect.fill.source)
{
    rect.fill.source.width = width_h;
    rect.fill.source.height = height_v;
}   

rect.setLeft(width_h);
rect.setTop(height_v);

rect.setCoords();

canvas.renderAll();
Вообще без эффекта.


Вот второй

rect.setWidth(width_h);
rect.setHeight(height_v);
if (rect.fill.source)
{
                        img = new fabric.Image(rect.fill.source)

                        img.scaleToWidth(rect.getWidth());
                        rect.setFill(img);
}   

rect.setLeft(width_h);
rect.setTop(height_v);

rect.setCoords();

canvas.renderAll();

Заливка всего объекта становится белой.

Буду благодарен любой подсказке.


Посмотреть можно вот тут http://motivashka-board.ru/konstruktor.html

845 строка main.js


Часовой пояс GMT +3, время: 14:37.