gpt4 book ai didi

android - 如何从另一个图像创建位图并保持透明背景?

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

我正在尝试从具有透明背景的 PNG 图像创建位图。当我在下面使用此方法时,它会使背景变黑。我试过使用 drawColor() 并且颜色是透明的,但它不起作用。也许我只是忽略了一些东西。所以,我的问题是:如何保持位图中的透明度?我将其保存为 PNG。

private Bitmap createCircularCroppedBitmap(Bitmap bitmap) {      
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final Paint paint = new Paint();
paint.setAntiAlias(true);
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
canvas.drawARGB(0, 0, 0, 0);
canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,
bitmap.getWidth() / 2, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}

最佳答案

几天后。我在发布这个问题后就找到了解决方案。问题不在 Bitmap.createScaledBitmap() 问题在 image.compress()。我使用的是 image.compress(CompressFormat.JPEG, 80, fos),但是如果我使用 image.compress(CompressFormat.PNG, 100, fos) 那么我的问题就解决了。

关于android - 如何从另一个图像创建位图并保持透明背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493109/

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