gpt4 book ai didi

android - 位图和屏幕上的位深度问题(白色不是白色)

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

我有一个透明的 PNG 图像,代表一个蓝色发光的蓝牙图标,从 photoshop 导出:

enter image description here

在 HTC Desire 上,创建一个简单的 ImageView ,并将 PNG 用作位图。如果 ImageView 周围的背景是白色,则细微差别之间存在差异。如果背景是黑色的,那么差异就被隐藏了。 enter image description here

如果我使用 ADB 进行屏幕捕获,则问题不可见: enter image description here

可能的原因:屏幕使用比位图更高的位深度率。例如。 RGB24 与 RGB16。通过这样做,与位图编码相比,屏幕具有更多的白色细微差别。显示时,位图的像素近似于新的位深度要求,但由于使用了近似值,因此无法正确匹配背景的细微差别。例如。 RGB16->RGB24 表示 C24 = 255*C16/31 。

如果我使用屏幕捕获软件,位深度可能会缩小到更窄的位深度值 (RGB16),因此所有细微差别合并在一起并近似于更简单的 16 位颜色。这就是为什么我用照相机来说明这个问题。

问题是如何解决这个问题?

我已经尝试使用以下参数加载位图:resample.inPreferredConfig = Config.ARGB_8888;但是没有用。

我只需要显示一个透明图像,例如带有 GFX 效果的图标:阴影、发光等。我也很乐意使用灰度蒙版(黑色 => 白色蒙版表示像素透明度,但也没有找到解决办法)。

感谢您的宝贵时间!

最佳答案

您可以在设置 Activity 中的 contentView 之前设置 Window 格式。

getWindow().setFormat(PixelFormat.RGBA_8888);

关于android - 位图和屏幕上的位深度问题(白色不是白色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7626132/

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