android - Canvas 以黑色显示位图的透明部分 - Android

标签 android bitmap android-canvas android-view ondraw

在我的 android 应用程序中,我想绘制两个图像 - img1 和 img2。首先,我将在 Canvas 上绘制 img2。之后,我将在 Canvas 上绘制 img1,它将与 img2 重叠。 Img1 包含透明部分。问题是,img1 的透明部分显示为黑色,但我希望 img2 通过 img1 的透明部分可见。我做不到。 请帮我解决这个问题。 谢谢。

代码:

protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Bitmap b = BitmapFactory.decodeResource(getResources(),
                R.drawable.white_bg);    //img2
        canvas.drawBitmap(b, 0, 0, null);
        canvas.save();

        canvas.drawBitmap(realImage, 0, 0, null);  //img1
    }

最佳答案

加载位图后尝试bitmap.setHasAlpha(true)

关于android - Canvas 以黑色显示位图的透明部分 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153792/

相关文章:

java - 在 fragment 中检查已更改监听器的 radio 组

java - Android 中 Bitmap 的 getPixels 方法说明

android - 如何在android中的 Canvas 中绘制垂直文本

安卓 Canvas : draw transparent circle on image

android - 如何在 Canvas onDraw(), Android 的 Bitmap 上设置动画?

java - 将 24 小时时间转换为分钟的简单日期格式

java - 所以......我正在尝试替换 SupportFragment 但它在 onCreateView 部分崩溃

java - 基于字符数的短信计数

android - 在位图上绘图?

android - 如何对位图图像应用灰度效果?