如何在Android中提供笔触和圆角内角

时间:2014-06-05 11:16:22

标签: android bitmap rounded-corners

我的custom ImageView会有中风和圆角。

enter image description here enter image description here

我已经成功地做到了这一点。但我也想进行变焦和放大翻译这个图像。因此,如果我执行缩放,则不会看到圆角。

以下是我使用过的代码:

Bitmap output = Bitmap.createBitmap(bg_image_bitmap.getWidth(),bg_image_bitmap.getHeight(),bg_image_bitmap.getConfig());

Canvas canvas = new Canvas(output);

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

final RectF rectF = new RectF(rect);

paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(getResources().getColor(
        R.color.theme_red));
canvas.drawRoundRect(rectF, roundCornerRadius,
        roundCornerRadius, paint);

paint.setXfermode(new PorterDuffXfermode(
        Mode.SRC_IN));
canvas.drawBitmap(bg_image_bitmap, rect, rect,
        paint);

paint.setXfermode(null);

view_BG.setImageBitmap(output);

我知道我已将图像高度和宽度赋予画布,因此会出现问题。但我没有其他选择继续。

请帮我解决这个问题。
感谢。

1 个答案:

答案 0 :(得分:-1)

我认为在缩放时,您必须重新计算图像的宽度和高度,并再次调用上面的代码。