我使用以下代码在自定义视图的onDraw期间绘制位图
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);
p.setShadowLayer(3,3,3,0xff000000);
Bitmap bmp = BitmapFactory.decodeResource(some drawable jpg);
canvas.drawBitmap(bmp,null,new Rect(blah blah),p);
阴影看起来很滑稽。我说搞笑是什么意思?我的意思是,如果我调用canvas.drawRect(),我会得到一个不同的阴影。看起来有点像android的影子代码正在把位图当作一个alpha通道之类的东西。
我已尝试添加p.setColor(0xff000000);和p.setStyle(Paint.Style.FILL);,但没有差异。
我猜我可以在阴影打开的情况下使用drawRect,然后在关闭阴影的情况下使用drawBitmap,但这似乎很愚蠢,因为它将渲染像素两次。
https://stackoverflow.com/questions/2399537
复制相似问题