【发布时间】:2012-10-20 01:05:33
【问题描述】:
QImage 有一个构造函数 QImage (uchar *data, int width, int height, int bytesPerLine, Format format),它从现有的内存缓冲区创建一个 QImage。
字节顺序(uchars)是否依赖于平台?如果我将 alpha、red、green 和 blue 的值放入其中并增加索引,则 alpha 与蓝色交换,红色与绿色交换。这表明字节序存在问题。
我现在想知道字节序是否依赖于平台。 Qt 文档对此没有任何说明。
如果它不依赖于平台,我只会更改存储值的顺序:
texture[ startIndex + 0 ] = pixelColor.blue();
texture[ startIndex + 1 ] = pixelColor.green();
texture[ startIndex + 2 ] = pixelColor.red();
texture[ startIndex + 3 ] = pixelColor.alpha();
如果它 依赖于平台,我将创建一个 uint32 数组,存储计算为 alpha
最好的问候,
詹斯
【问题讨论】:
标签: qt endianness qimage