【问题标题】:Color depth in AndroidAndroid中的颜色深度
【发布时间】:2014-01-10 17:29:20
【问题描述】:

我刚刚在三星 Galaxy 10.2 上显示了一张位图。该图像是在 Photoshop 中创建的,显示了从浅红色到稍深的红色的一些细微变化,在我的 PC 上看起来很完美,但在平板电脑上的渲染显示为 multiple bands

我知道这可能是由颜色深度不足引起的......但我不知道安卓设备有什么颜色深度。 android甚至指定最小颜色深度吗?您可以在运行时或多或少地要求颜色深度吗?仅取决于设备制造商吗?

【问题讨论】:

  • 我们需要更多的上下文。你在活动中这样做吗?如果是这样,请尝试getWindow().setFormat(PixelFormat.RGBA_8888);
  • 是的,在一个活动中。所以我假设 RGBA_8888 是每像素 32 位......但是所有 Android 设备都保证支持这个吗?

标签: android color-depth


【解决方案1】:

这是一个完美的阅读:Bitmap quality, banding and dithering Romain Guy。

回答您的问题:

android 甚至指定最小颜色深度吗?

Android = 2.3 默认加载 32 位的位图。引用给定文章中的 Romain Guy:

更好的解决方案是简单地在 32 位上渲染 32 位位图 表面,Android 2.3 现在默认情况下会这样做。

位图的最小值为 8 位,Bitmap.Config.ALPHA_8,但在 99% 的情况下,您不应该使用它,而应该使用 Bitmap.Config.ARGB_8888

将您的Window 设置为 32 位 (Bitmap.Config.ARGB_8888) 并使用 32 位 (PixelFormat.RGBA_8888) 解码您的位图。怎么做,如下。

您可以或多或少地要求颜色深度吗? 运行?仅取决于设备制造商吗?

您可以在运行时随时设置WindowBitmap 的颜色深度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-21
    • 2023-03-11
    • 2013-09-27
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    相关资源
    最近更新 更多