Dans mon projet j'ai une image que par le biais du programme, j'ai extrait les pixels, manipuler ces pixels et ensuite enregistré dans mon paquet. La façon dont je l'ai enregistré, est:Android: problème dans l'image bitmap de décodage
private void createPicture()
{
System.out.println("Inside createPicture");
System.out.println(contextPath);
try{
FileOutputStream fos = new FileOutputStream(contextPath + "/" + picName);
DataOutputStream dos = new DataOutputStream(fos);
for(int i=0; i<splitedPixel.length; i++)
dos.writeByte(splitedPixel[i]);
dos.flush();
dos.close();
}
catch(IOException e){
System.out.println("IOException : " + e);
}
System.out.println("Picture Created.");
}
donc, il enregistre mon image dans ce répertoire
/data/data/my_package_name/files/myPic.bmp
maintenant , Je veux lire cette nouvelle image et extraire des pixels de cette image. J'ai utilisé cette méthode:
public Stego(Context context)
{
//Instantiate an ImageView and define its properties
contextPath = context.getFilesDir().getAbsolutePath();
image = BitmapFactory.decodeFile(contextPath + "/" + picName);
System.out.println("Image= " + image);
imWidth = image.getWidth();
imHeight = image.getHeight();
getMaxMessageChars();
System.out.println("Width: " + imWidth);
}
Le programme se bloque ici. logcat indique que le résultat de l'image est null et que le programme atteint les crash de getWidth.
sont ces façons d'écrire et de lire correctement? Puis-je accéder au répertoire via l'émulateur pour vérifier si cette image est créée ou non?
Merci