3

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

这是否会使 RGB565 格式对绝大多数游戏精灵有效地无用,还是我弄错了?

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

我问这个是因为我将原始位图转换为 RGB565 使用

options.inPreferredConfig = Bitmap.Config.RGB_565;

而且它们似乎还可以——即仍然具有它们的透明度。

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

谢谢大家

4

1 回答 1

4

您加载的 RGB565 位图似乎工作的原因是因为如果您的位图具有 alpha,它们将被加载为 ARGB444 或 ARGB8888。这inPreferredConfig只是一个提示,如果可能的话,您希望您的位图采用该格式。不进行任何转换。您可以通过调用getConfig()加载的位图来查看这一点。

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

因此,总而言之,只需使用 ARGB8888,或者如果内存有问题,则使用 ARGB4444(尽管已弃用

于 2013-01-31T19:25:54.633 回答