我正在制作自定义视图。我需要在位图的边缘绘制阴影。我已经画了一个边界。但这不是我要求的。使用此代码
protected Bitmap addBorderAtEdges(Bitmap srcBitmap, int borderWidth, int borderColor) {
Bitmap dstBitmap = Bitmap.createBitmap(
srcBitmap.getWidth() + borderWidth * 2, // Width
srcBitmap.getHeight() + borderWidth * 2, // Height
Bitmap.Config.ARGB_8888 // Config
);
Canvas canvas = new Canvas(dstBitmap);
Paint paint = new Paint();
paint.setColor(borderColor);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(borderWidth);
paint.setAntiAlias(true);
Rect rect = new Rect(
borderWidth / 2,
borderWidth / 2,
canvas.getWidth() - borderWidth / 2,
canvas.getHeight() - borderWidth / 2
);
canvas.drawRect(rect, paint);
canvas.drawBitmap(srcBitmap, borderWidth, borderWidth, null);
srcBitmap.recycle();
return dstBitmap;
}
这是我尝试实现的目标[
对不起我糟糕的油漆技巧
这不仅限于此图像。用户可以添加他想要的任何图标,我必须像这样在边缘上绘制边框。有一件事是确保图标将具有单一颜色背景,并且图像仅包含一个图标(就像我上传的图标一样)。有什么建议吗?