【问题标题】:Drawing translucency drawable in Android, but black edge在Android中绘制半透​​明可绘制,但黑色边缘
【发布时间】:2011-01-19 16:08:19
【问题描述】:

我有下面的图像(图像中的白色气泡)要在画布上绘制。当我使用代码绘制图像时..,图像的边缘变成黑色圆圈和圆角..边缘的 alpha 为 0x00。

image.setBounds(left, top, right, bottom);

image.draw(画布);

预期当我画

我怎样才能去掉黑圈???画错了吗??或任何人知道线索,请给我一个线索..提前谢谢..

^^

【问题讨论】:

    标签: android canvas alpha drawable


    【解决方案1】:

    您的预期输出是否来自图像编辑器(Photoshop?)如果是这样,那将是 32 位混合的结果,而 Android 上的 alpha 混合似乎是以 16 位执行的,因此背景中的条纹和图像周围的光晕。

    假设您正在使用Bitmap 对象,您可以通过调用bitmap.getConfig() 来查找它们的颜色深度(来自Bitmap.Config 枚举)来检查是否是这种情况。

    编辑:还有一件事可能导致光晕 - 你说你的精灵边缘的 alpha 为 0,但是 RGB 值呢?确保 ARGB 设置为全白 (ARGB 0x00ffffff) 而不是黑色 (ARGB 0x00000000)。

    【讨论】:

    • 是的,它来自 Fireworks。当我打印配置时,我得到了 ARGB_8888。什么意思???
    • ARGB_8888 表示位图存储在内存中,每个像素使用 32 位 - 8 位用于 alpha、红色、绿色和蓝色通道。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2015-04-08
    • 2022-01-03
    相关资源
    最近更新 更多