2

here からの回答に基づいてビットシフトすることにより、3値RGB表現を16ビット整数に保存しています(RGB値を整数に変換)。gとのb値で機能するようですが、r常に 0 が返されます。

私のコードは次のとおりです。

uint16_t rgb = ((r&0x0ff) << 16) | ((g&0x0ff) << 8) | (b&0x0ff);
        qDebug() << "wrote rgb: " << rgb;
        qDebug() << "wrote r: " << r << " g: " << g << " b: " << b;
        qDebug() << "unshifted r: " << ((rgb >> 16) & 0x0ff) << " g: " << ((rgb >> 8) & 0x0ff) << " b: " << (rgb & 0x0ff);
4

2 に答える 2