我正在加载 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是关于这个主题的很好的讨论。
关于c# - 使用 FreeImage 是否可以在 ARGB32 或 RGBA32 而不是 BGRA32 中输出 ConvertToRawBits?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49080660/