使用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
格式。
这是关于这个主题的一个很好的讨论。