700x700 RGB24 TIF ファイルを読み取り、ディスプレイ メモリに配置するこの作業コードがあります。値を割り当てる行はpixelARGB
非常に効率が悪いようです。このコードは画面を再描画するのに 3 ~ 4 秒かかります。シフトと論理和を回避し、バイト値を 32 ビット ワード内の正しい位置に配置する方法はありますか?
他の言語では、「オーバーレイ変数」や「バリアント レコード」などを使用してこれを行いました。Java でこれを見つけることができません。ありがとうございました。
for (y=0; y<700; y++) { // for each line
i = 0;
for (x=0; x<700; x++) { // for each dot
red = lineBuf[i++] & 0xFF;
green = lineBuf[i++] & 0xFF;
blue = lineBuf[i++]& 0xFF;
pixelARGB = 0xFF000000 | (red << 16)| (green << 8) | blue;
this_g.setPixel(x + BORDER, y + BORDER, pixelARGB);
}
size=is.read(lineBuf,0,2100);
}