在自定义视图中为位图创建阴影
create shadow for bitmap in custom view
我有一个包含一些位图的自定义视图,我想为它们设置阴影,为此,我使用以下代码:
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 位置的位图,但我想要的是我的阴影是纯色
位图。
谁能帮我解决这个问题?
setShadowLayer
实际上是为了在文本上放置阴影。
如果您已经知道要绘制的位图,只需在 PhotoShop 中添加一个阴影,即可同时绘制位图和阴影。
如果您不想这样做,可以通过复制图像 using a PorterDuff filter to make it all grey, use Renderscript to blur the image 来制作阴影,然后将其绘制在 canvas 的 x,y 偏移处在其上绘制实际图像之前。
就我个人而言,我认为 PhotoShop 更容易。
我有一个包含一些位图的自定义视图,我想为它们设置阴影,为此,我使用以下代码:
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);
我的结果是
谁能帮我解决这个问题?
setShadowLayer
实际上是为了在文本上放置阴影。
如果您已经知道要绘制的位图,只需在 PhotoShop 中添加一个阴影,即可同时绘制位图和阴影。
如果您不想这样做,可以通过复制图像 using a PorterDuff filter to make it all grey, use Renderscript to blur the image 来制作阴影,然后将其绘制在 canvas 的 x,y 偏移处在其上绘制实际图像之前。
就我个人而言,我认为 PhotoShop 更容易。