我正在尝试使用下面的代码片段向位图添加右侧阴影:
private static Bitmap drawBitmap(Bitmap bm) {
Canvas canvas = new Canvas();
Paint mShadow = new Paint();
mShadow.setShadowLayer(10.0f, 40.0f, 0.0f, Color.RED);
canvas.drawBitmap(bm, 0.0f, 0.0f, mShadow);
return bm;
}
它似乎不起作用,事实上,我根本没有看到任何阴影。
请问您知道为什么它不起作用以及修复它的建议吗?
在将位图绘制到画布上之前,需要先绘制一个矩形,阴影层和位图层是独立的图层,需要将它们一层一层地绘制到画布上才能看到效果
private static Bitmap drawBitmap(Bitmap bm) {
Canvas canvas = new Canvas();
Paint shadow = new Paint();
shadow.setShadowLayer(10.0f, 40.0f, 0.0f, Color.RED);
// Drawing shadow layer first before the bitmap
canvas.drawRect((new Rect(0, 0, 0, 0)), shadow);
canvas.drawBitmap(bm, 0.0f, 0.0f, shadow);
return bm;
}