我有一个包含一些位图的自定义视图,我想为它们设置阴影,为此,我使用此代码:
shadowPaints=new Paint(Paint.ANTI_ALIAS_FLAG);
shadowPaints.setShadowLayer(10.0f, 3.0f, 2.0f, Color.BLACK);
canvas.drawBitmap(bmp, matrix, shadowPaints);
setLayerType(LAYER_TYPE_SOFTWARE, shadowPaints);
我的结果是
你可以看到我的影子实际上是另一个具有不同x和y位置的位图,但我想要的是我的影子是纯色
位图。
任何人都可以帮我这个吗?
答案 0 :(得分:1)
setShadowLayer
实际上是用于在文本上添加阴影。
如果您已经知道要绘制的位图,可以在PhotoShop中添加阴影并一次绘制位图和阴影。
如果您不想这样做,可以通过复制图像using a PorterDuff filter to make it all grey,use Renderscript to blur the image来制作阴影,并在画布上以x,y偏移绘制它在绘制实际图像之前。
就个人而言,我认为PhotoShop更容易。