TCPソケットを介してARGB値のByteArrayを送信しているC++QTアプリケーションがあります。画像は100x100です。問題は、ByteArrayを読み取ったときに、画像を正しく表示できないように見えることです。私はさまざまな方法を試しましたが、これが私に最も近いAS3コードです。
bitmapData.lock();
for(var x = 0;x<100; x++){
for(var y = 0;y<100; y++){
alphaValue = byteArray.readUnsignedByte();
redValue = byteArray.readUnsignedByte();
greenValue = byteArray.readUnsignedByte();
blueValue = byteArray.readUnsignedByte();
color = redValue << 16 | greenValue << 8 | blueValue;
bitmapData.setPixel(y,x,color);
}
}
bitmapData.unlock();
アルファ値をどうすればよいかわからないため、現時点ではアルファ値を使用していません。Qtは、「画像は32ビットRGB形式(0xffRRGGBB)を使用して保存されます」と述べています。私も使ってみreadUnsignedInt()
ましたが、うまくいきませんでした。
これが私が送信しようとしているものと画面に表示されているものです。
送信:フラッシュで受信
近いですが、ちょうどいいわけではありません。誰かが私が間違っているかもしれないことを知っていますか?