Android在位图周围绘制阴影(仅限边缘)

时间:2017-09-26 06:51:41

标签: android android-canvas android-view

我正在制作自定义视图。我需要在位图的边缘绘制阴影。我已经画了一个边界。但这不是我要求的。使用此代码

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;
    }

这是我迄今取得的成就 enter image description here

这是我尝试实现的目标[2]

对不起我糟糕的油漆技巧

这不仅限于此图像。用户可以添加他想要的任何图标,我必须像这样在边缘上绘制边框。有一件事是确保图标将具有单一颜色背景,并且图像仅包含一个图标(就像我上传的图标一样)。有什么建议吗?

0 个答案:

没有答案