在我的項目中,我有一個圖片,通過程序,我提取像素,操縱這些像素,然後將其保存在我的包中。是我救了它的方式是:Android:解碼位圖圖像的問題
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.");
}
所以,在此目錄
/data/data/my_package_name/files/myPic.bmp
中保存我的圖片現在,我想閱讀這張新照片並提取這張照片的像素。我用過這種方法:
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);
}
程序在這裏崩潰。 logcat指示圖像的結果爲空,並且程序達到getWidth崩潰時。
這些書寫和閱讀方式是否正確? 我可以通過模擬器轉到目錄來檢查是否創建了這張圖片嗎?
感謝