相关疑难解决方法(0)

对PixelFormat感到困惑

我对Android上的PixelFormat感到困惑.

我的设备是摩托罗拉Defy.

我有两个问题:

  • 在Android 2.3上getWindowManager().getDefaultDisplay().getPixelFormat()返回4代表RGB_565.据我所知,我的设备有16M颜色,这意味着每个像素3个(或4个alpha通道)字节:
                2^(8*3) = 2^24 = 16M
Run Code Online (Sandbox Code Playgroud)

但RGB_565格式每像素有2个字节(16位),代表65K颜色:

                2^(8*2) = 2^16 = 65K
Run Code Online (Sandbox Code Playgroud)

那么,为什么getPixelFormat()不返回每像素3(或4个像RGBA)字节的格式?它是否显示驱动程序问题?我可以设置PixelFormat为RGBA_8888(或模拟)吗?

  • 在Android 4.1(自定义ROM)上,getPixelFormat()返回5.但是这个价值没有记载.它代表什么?实际上,在这种情况下效果与常数相同4.但是从这次讨论中我发现5代表RGBA_8888(但没有证据证明该陈述).那么如何才能找出设备屏幕的真实格式?另外我在Android 2.2上发现了一个中文设备,也有PixelFormat 5个,但真正的格式是4(就像我的摩托罗拉).

我搜索了这些问题但没有发现任何问题.我发现唯一的东西是nexus 7也有5种格式.

更新:

我找到了方法,getWindow().setFormat()但它实际上并没有改变主像素格式.

android pixelformat

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

pixelformat ×1