svg亮度/透明度效果和滤镜(Java Android)

时间:2014-07-12 18:19:40

标签: java android svg

我在游戏中使用SVG文件,我想为它们添加透明度和亮度效果。所以我想要的是精灵变得越来越透明,直到它变得不可见。这看起来比刚刚消失的精灵更顺畅。这也允许在白色屏幕变得不透明然后更多的级别之间平滑过渡。我希望你明白我的意思。除此之外,亮度效果也会很好。在游戏过程中精灵可以变得更亮或更暗。不过我可以使用透明效果为此创建一个解决方法,但是,我没有:/

我使用这个库: https://androidsvg.googlecode.com/hg/doc/reference/packages.html

我以这种方式渲染我的svgs:

svg.renderToCanvas(pCanvas);

但我也可以将其转换为图片:

Picture pic = svg.renderToPicture();

也许这些信息可以帮到你。

是否存在可以帮助我的东西?如果没有,请问您如何解决问题?

编辑:所以我的SVG表现得像这些: http://scratch.mit.edu/projects/24634091/

1 个答案:

答案 0 :(得分:0)

你可以使用ImageView和setAlpha(),正如Frank所说。或者,在draw()方法中将精灵渲染到画布可能更容易。

如果您正在编写游戏,那么您可能会发现在游戏循环中渲染SVG的速度可能不够快。因此,您可能需要将所有SVG精灵预渲染到位图(即启动时)并将它们绘制到Canvas中。

Paint p = new Paint();
p.setAlpha(alpha);
canvas.drawBitmap(sprite, x,y, p);