我正在制作一个交互式动画,背景图像被相机中捕获的形状遮挡。在每一帧中,相机将图像转换为黑白图像,然后用于遮盖背景图像。
在代码中,“now”是相机拍摄的图像,“P1”是背景图像。
通过使用混合模式进行蒙版后,我希望存储被遮罩的结果图像并用于其他事物。 我不明白何时使用blendmode函数,结果如何定义得很好。 我可以捕获,复制或存储结果图像吗?
var P1:MovieClip = new p1();
var mskimg:MovieClip = new maskimage();
var bitmap_obj:Bitmap = new Bitmap(now);
addChild(P1);
P1.blendMode = BlendMode.LAYER;
addChild(bitmap_obj);
bitmap_obj.blendMode = BlendMode.MULTIPLY;
答案 0 :(得分:0)
如果将要绘制的所有内容放入容器中,则可以绘制蒙版对象,然后调用BitmapData.draw()
将完整的分层对象绘制到某个BitmapData
。然后,您可以使用该位图数据执行任何操作,Graphics.beginBitmapFill()
,FileReference.save()
,等等。然而,操作很昂贵,因此如果通过响应用户操作触发绘图会更好,并且默认情况下不会每帧都这样做,除非应用程序的逻辑需要。