gpt4 book ai didi

java - 带圆角和透明背景的位图

转载 作者:行者123 更新时间:2023-11-29 03:40:03 25 4
gpt4 key购买 nike

我正在尝试使用下面的代码对位图进行圆角处理。问题是无论我将油漆的颜色设置为什么,例如Color.TRANSPARENT ,它总是黑色的。我怎样才能真正剪裁位图的角,而不仅仅是将它们涂成黑色?

谢谢!

    public static Bitmap roundCorners(Bitmap src, int radius) {
//Create a *mutable* location, and a canvas to draw into it
int width = src.getWidth();
int height = src.getHeight();
Bitmap result = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(result);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
RectF rect = new RectF(0, 0, width, height);
Shader bitmapShader = new BitmapShader(src, TileMode.CLAMP, TileMode.CLAMP);
paint.setColor(0xFF000000);
paint.setShader(bitmapShader);
canvas.drawRoundRect(rect, radius, radius, paint);
return result;
}

最佳答案

有一种更简单的方法,一次即可完成。只需绘制一个圆角矩形,但在 Paint 上设置一个 BitmapShader。这将用您的位图填充圆角矩形。无需更改 xfermode 或调用 drawBitmap。

关于java - 带圆角和透明背景的位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13589691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com