J'appelle une fonction C++ sur JNI et passer un bitmap RGBA_8888, verrouiller, modifier les valeurs, le déverrouiller, revenir puis l'afficher en Java avec ce code C++:Comment puis-je modifier un bitmap Android dans le NDK pour que je puisse l'utiliser du côté 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);
Le problème que j'ai est que les bitmaps ne ressemblent pas à ce que je m'attends et les valeurs de pixels (vérifiées avec getPixel) ne sont pas les mêmes quand je les vérifie en Java à partir de ce que je leur ai donné en C++. Quand je place les valeurs de bitmap à 0xffffffff j'obtiens la valeur correcte dans Java, mais pour beaucoup d'autres je ne fais pas. 0xf1f1f1f1 devient par exemple 0xF1FFFFFF.
Que dois-je faire pour le faire fonctionner?
PS: J'utilise Android 2.3.4