小编Ste*_*tes的帖子

android Paint.setShadowLayer()vs Canvas.drawbitmap()问题

我使用以下代码在自定义视图的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);
Run Code Online (Sandbox Code Playgroud)

阴影看起来很有趣.我的意思是什么搞笑?我的意思是,如果我调用canvas.drawRect(),我会得到一个不同的阴影.它看起来有点类似于android影子代码将位图视为alpha通道或其他东西.

尝试添加p.setColor(0xff000000); 和p.setStyle(Paint.Style.FILL); 但没有区别.

我想我可以在阴影上绘制drawRect,然后在阴影处关闭drawBitmap,但这看起来很傻,因为它会渲染像素两次.

android

17
推荐指数
1
解决办法
7526
查看次数

标签 统计

android ×1