JNI 経由で C++ 関数を呼び出し、RGBA_8888 ビットマップを渡し、ロックし、値を変更し、ロックを解除してから、次の C++ コードを使用して Java で表示します。
AndroidBitmap_getInfo(env, map, &info) < 0);
AndroidBitmap_lockPixels(env, map, (void**)&pixel);
for(i=info.width*info.height-1;i>=0;i--)
{ pixel[i] = 0xf1f1f1f1;
}
AndroidBitmap_unlockPixels(env, map);
私が抱えている問題は、ビットマップが期待どおりに見えず、ピクセル値 (getPixel で検証) が、C++ で設定したものと Java でチェックしたときに同じではないことです。ビットマップ値を 0xffffffff に設定すると、Java では正しい値が得られますが、他の多くの場合はそうではありません。たとえば、0xf1f1f1f1 は 0xF1FFFFFF に変わります。
それを機能させるにはどうすればよいですか?
PS: Android 2.3.4 を使用しています