精灵的RGB565?

时间:2013-01-31 18:51:53

标签: android colors bitmap transparency sprite

我是否正确假设如果我有一个不规则形状的精灵(除了正方形/矩形以外的任何东西)需要在背景图像上绘制,我不能使用RGB565,因为这种格式没有alpha透明度的渠道?

这是否会使RGB565格式对绝大多数游戏精灵都没用?或者我错了吗?

还有其他选择吗?哪种格式最适合我使用以获得最佳性能?

我问这个是因为我使用

将原始位图转换为RGB565
options.inPreferredConfig = Bitmap.Config.RGB_565;

它们似乎没问题 - 即仍然具有透明度。

但是当我尝试使用RGB565对精灵进行重新着色时,它周围会出现一个黑色正方形,所以我有点困惑!!!! h

全部谢谢

1 个答案:

答案 0 :(得分:3)

你加载的RGB565位图似乎有效的原因是因为如果你的位图有alpha,它们将被加载为ARGB444或ARGB8888。 inPreferredConfig只是提示您希望在可能的情况下使用该格式的位图。 没有转换。 您可以通过在加载的位图上调用getConfig()来查看此内容。

您始终可以使用RGB565加载位图,将另一个加载为A8,并将它们一起使用,但这样做的成本可能高于仅使用其中一种ARGB格式。

总而言之,只需使用ARGB8888,或者内存是个问题,ARGB4444(although this is deprecated