首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓Paint.setShadowLayer()与Canvas.drawbitmap()的问题

安卓Paint.setShadowLayer()与Canvas.drawbitmap()的问题
EN

Stack Overflow用户
提问于 2010-03-08 13:51:07
回答 2查看 7.9K关注 0票数 17

我使用以下代码在自定义视图的onDraw期间绘制位图

代码语言:javascript
复制
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,但这似乎很愚蠢,因为它将渲染像素两次。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2399537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档