У меня есть программа, которая отправляет изображения по сети. Я вручную создаю пиксели (используя QRgb
класс), и я вставляю их в QDataStream
, Это довольно легко, когда есть 16 или 32 бит на пиксель (я могу вставить quint16
или же quint32
), но в RGB888 (24 бита на пиксель) я должен использовать три quint8
переменные. Но я не уверен, порядок байтов, когда QDataStream
имеет:
// output is QDataStream object
output.setByteOrder(QDataStream::BigEndian);
Должен ли я вставить в этом порядке, чтобы правильно читать этот поток позже?
// red, green and blue are quints8
output << blue;
output << green;
output << red;
РЕДАКТИРОВАТЬ: я знаю, что настройка BigEndian
не имеет значения, когда я использую только quint8
но я хочу расставить цвета в таком порядке, как в случае, когда Qt делает байтовое обращение (quint32
а также setByteOrder
).
Задача ещё не решена.