Is it good to use SDL_PIXELFORMAT_UNKNOWN?

Is it good to use SDL_PIXELFORMAT_UNKNOWN?

本文关键字:PIXELFORMAT UNKNOWN SDL use it good to Is      更新时间:2023-10-16

我正在阅读SDL_CreateTexture函数,我对为"Uint32格式"参数选择哪个参数感到非常困惑。 有很多枚举值,我不知道选择哪一个以及为什么。 我不知道为什么SDL_PIXELFORMAT_UNKNOWN似乎是个好主意。是吗?

好的,所以你的问题没有提供足够的上下文来真正告诉你在这里做什么。

  • 你想实现什么?
  • 你已经尝试过什么?
  • 它会抛出错误吗?

我会试着给你一些一般的提示: 纹理只是一个大数组,所有像素一个接一个地保存,一行又一行,从左到右,从上到下读取(至少通常(。 此数组的长度为:length_in_bytes = w * h * nBytesOfPixel;因此,要为纹理正确分配内存,并将字节正确解释为像素颜色,需要像素中的字节数(或本例中的位(。 要告知SDL_CreateTexture这一点,您必须提供这些像素格式值之一。如有疑问,请使用SDL_PIXELFORMAT_RGBA8888它应该覆盖您的所有基础一段时间,并从其他任何地方轻松翻译。顾名思义,它将每个像素保存为 4 个字节,每种颜色 1 个字节,顺序为:Red、Green、Blue、Alpha。阿尔法用于透明度。

如果您将其与其他一些候选者进行比较,您可能会看到它们的属性是什么。

  • 例如,SDL_PIXELFORMAT_BGR888交换了BR通道,没有 alpha 通道。