我使用以下代码在自定义视图的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,但这似乎很愚蠢,因为它将渲染像素两次。
发布于 2013-06-26 02:41:32
也许http://developer.android.com/reference/android/graphics/Paint.html#isAntiAlias()能帮到你。
paint.setAntiAlias(true);
发布于 2011-05-30 09:07:50
也许你应该为不同的目的有不同的画图对象,比如文本,位图等。这样一个人的设置就不会影响其他人。
https://stackoverflow.com/questions/2399537
复制相似问题