Я хотел бы загрузить мой SVG-файл и заполнить его шаблоном, созданным из моего файла изображения.Fabricjs: fill svg с рисунком изображения
Вот мой текущий подход:
canvas = new fabric.Canvas('mainCanvas')
# image = new fabric.Image(img[0])
# console.log image
fabric.loadSVGFromURL '/assets/my.svg',
(objects) ->
fabric.util.loadImage "url/to/my/image", (image) ->
console.log image
svg = fabric.util.groupSVGElements(objects)
svg = svg.scale(0.04).set(fill: "black", opacity: 0.5)
svg.fill = new fabric.Pattern
source: image
repeat: "no-repeat"
canvas.add(svg)
canvas.renderAll()
Изначально я пытался использовать экземпляр fabric.Image (IMG является элементом изображения JQuery, поэтому я передаю сырец HTMLElement конструктору), но только, чтобы быть уверенными, & использовать код, похожий на pattern tutorial Я использую метод loadImage.
К сожалению, этот код не работает (svg загружен, но на нем нет рисунка). Можно ли заполнить svg шаблоном? Если да, то как я могу это достичь?
Привет, спасибо за ваш комментарий, к сожалению, это не тот случай. Вот мой текущий код: http://pastebin.com/raw.php?i=HUeBkq1t - который по-прежнему не работает. Любые идеи, что может быть неправильным? – user1105595
Похоже, вы назначаете изображение, а не узор, чтобы «заполнить» свойство. – kangax
@ user1105595 помогло? – kangax