J'utilise Konva.js pour faire des animations sur toile. J'ai des formes de cercle, avec un remplissage d'image, et voudrais appliquer une superposition de couleur/filtre à la forme (RGBA).Comment appliquer un filtre à une forme avec remplissage d'image dans KonvaJS?
Voici comment je crée l'objet Shape:
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';
Démo: http://jsbin.com/winugimeme/edit?js,output
The Docs outline an RGBA filter, mais pour autant que je peux dire qu'il ne peut être appliqué à Konva.Image
articles.
Existe-t-il un moyen de retravailler mon code ci-dessus afin que je puisse appliquer des filtres à l'objet de forme/remplir l'image?
J'ai essayé ce qui précède et j'ai obtenu l'erreur CORS susmentionnée. Y at-il un moyen de contourner la limitation CORS ..? Je charge des images d'un CDN. Je ne comprends pas vraiment pourquoi c'est un problème de CORS quand je peux lier des images du même CDN et les charger comme étiquettes d'image. Pourquoi les manipuler sur une toile provoque-t-il une erreur CORS? – Prefix
Vous pouvez essayer cette astuce pour le faire fonctionner "imageObj.crossOrigin =" Anonymous ";" – lavrton
http://jsbin.com/licusaxeqe/2/edit?js,output – lavrton