我有一个用 KineticJS 创建的画布,我正在向该画布添加透明的 PNG 图像。当堆叠在一起时,这会形成一个包含所有不同部分的服装图像。
然后我想做的是让用户点击一个图案,然后用那个图案改变那件衣服的特定部分。所以我需要用该图案填充其中一张图像的不透明部分。我找到了一种不使用 KineticJS 的方法,它看起来像这样:
ctx.globalCompositeOperation = 'source-in';
var ptrn = ctx.createPattern(fabricA, 'repeat');
ctx.fillStyle = ptrn;
ctx.fillRect(0, 0, 375, 260);
我的问题是,有没有办法用 KineticJS 执行上述相同的步骤?
此外,我确实首先尝试不使用 KineticJS 来执行此操作,但是当我将上述代码应用于图层时,它会填充所有图像,因为它们都在同一图层上。所以我猜我需要更改我的代码以使用多个图层或将图像添加到单个图层中的组中。我的想法在这里吗?对于我要完成的工作,哪个是更好的选择?多层?还是单层上的多个组?
感谢任何人都可以提供的任何帮助。