Ich verwende Konva.js, um einige Leinwandanimationen zu machen. Ich habe Kreisformen mit einer Bildfüllung und möchte eine Farbüberlagerung/Filter auf die Form anwenden (RGBA). DieseWie man einen Filter auf eine Form mit Bildfüllung in KonvaJS anwendet?
ist, wie ich die Schaffung der Shape-Objekt:
var konvaObject = new Konva.Circle({
x: 100,
y: 100,
radius: 300,
stroke: this.color,
strokeWidth: 6,
fillPatternRepeat: 'no-repeat',
});
// load the image into the shape:
var imageObj = new Image();
imageObj.onload = function() {
konvaObject.fillPatternImage(imageObj);
konvaObject.draw();
}
imageObj.src = 'www.demo.com/anImageName.png';
Demo: http://jsbin.com/winugimeme/edit?js,output
The Docs outline an RGBA filter, aber soweit ich es kann sagen, kann nur auf Konva.Image
Elemente angewendet werden.
Gibt es eine Möglichkeit, meinen obigen Code zu überarbeiten, so dass ich Filter auf das Formobjekt/Füllbild anwenden kann?
Ich versuchte das oben genannte und erhielt den oben erwähnten CORS-Fehler. Gibt es eine Möglichkeit, die CORS-Einschränkung zu umgehen? Ich lade Bilder von einem CDN. Ich verstehe nicht wirklich, warum das ein CORS-Problem ist, wenn ich Bilder von derselben CDN verknüpfen und sie als Image-Tags laden kann. Warum verursacht die Manipulation auf der Leinwand einen CORS-Fehler? – Prefix
Sie können diesen Trick versuchen, damit es funktioniert "imageObj.crossOrigin =" Anonymous ";" – lavrton
http://jsbin.com/licusaxeqe/2/edit?js,output – lavrton