使用 FreeImage 是否可以在 ARGB32 或 RGBA32 而不是 BGRA32 中输出 ConvertToRawBits?
With FreeImage is it possible to have ConvertToRawBits output in ARGB32 or RGBA32 rather than BGRA32?
我正在加载 PNG 以用作 Unity 中的纹理。当我使用 ConvertToRawBits() 时,它输出到 BGRA32。是否可以改为输出为 ARGB32 或 RGBA32?
https://gist.github.com/ciwolsey/24635ea523b4a6b758783688be53bf86
你有两个选择,你可以:
重新编译 Freeimage
并将 FREEIMAGE_COLORORDER
设置为 FREEIMAGE_COLORORDER_RGB
值 (1)。那么您加载的图像将始终为 RGBA32
格式。如果这个 FREEIMAGE_COLORORDER
在编译时没有指定,实际的颜色顺序设置由目标系统的字节顺序决定。
使用Freeimage
SwapRedBlue32
函数将加载的图像从BGRA32
格式转换为RGBA32
格式。
Here 是关于这个主题的很好的讨论。
我正在加载 PNG 以用作 Unity 中的纹理。当我使用 ConvertToRawBits() 时,它输出到 BGRA32。是否可以改为输出为 ARGB32 或 RGBA32?
https://gist.github.com/ciwolsey/24635ea523b4a6b758783688be53bf86
你有两个选择,你可以:
重新编译
Freeimage
并将FREEIMAGE_COLORORDER
设置为FREEIMAGE_COLORORDER_RGB
值 (1)。那么您加载的图像将始终为RGBA32
格式。如果这个FREEIMAGE_COLORORDER
在编译时没有指定,实际的颜色顺序设置由目标系统的字节顺序决定。使用
Freeimage
SwapRedBlue32
函数将加载的图像从BGRA32
格式转换为RGBA32
格式。
Here 是关于这个主题的很好的讨论。