Android将边框添加到圆角图像

时间:2015-01-17 13:32:57

标签: java android android-canvas

我正在使用下面的代码使我的图像变圆,但现在我想在圆圈周围添加一个白色边框,这样就会有一个带有白色边框的透明圆圈,直到图像被加载(我正在使用picassa库从服务器远程加载图像,所以有时加载它们需要时间。)

public static Bitmap getCroppedImage(Bitmap bmp, int radius)
{
    Bitmap sbmp;
    if(bmp.getWidth() != radius || bmp.getHeight() != radius)
        sbmp = Bitmap.createScaledBitmap(bmp, radius, radius, false);
    else
        sbmp = bmp;
    Bitmap output = Bitmap.createBitmap(sbmp.getWidth(),
            sbmp.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, sbmp.getWidth(), sbmp.getHeight());

    paint.setAntiAlias(true);
    paint.setFilterBitmap(true);
    paint.setDither(true);
    canvas.drawARGB(0, 0, 0, 0);
    paint.setColor(Color.parseColor("#FFFFFF"));
    canvas.drawCircle(sbmp.getWidth() / 2+0.7f, sbmp.getHeight() / 2+0.7f,
            sbmp.getWidth() / 2+0.1f, paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(sbmp, rect, rect, paint);

    return output;
}

问题是这个代码是由另一个程序员编写的,我必须扩展代码以在图像周围添加白色边框。但是无论图像是否加载,都应该显示白色边框。

0 个答案:

没有答案