Warum kehrt Bitmapfactory.decodeFile NULL zurück?
-
26-10-2019 - |
Frage
Ich experimentiere mit dem Android -FaceTector. Ich muss eine Bitmap -Datei verwenden (faces.bmp stammt von einem Gruppenfoto), da ich keine Möglichkeit gefunden habe, die Android -Kamera im Android -Emulator zu verwenden. BitmAPFactory.decodeFile gibt jedoch NULL zurück und die Dokumentation sagt nur, dass sie Null zurückgibt, wenn die Bitmap nicht dekodiert werden könnte. Es ist nur eine 24 -Bit -.bmp -Datei. Ich verwende Eclipse unter Windows 7. Habe ich Pathname falsch angegeben? Muss ich etwas anderes als eine 24 -Bit -.bmp -Datei verwenden?
public class MyFaces extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final int width = 600;
final int height = 600;
final int maxFaces = 8;
FaceDetector faceDetector = new FaceDetector(width, height, maxFaces);
String pathName = "../res/drawable-hdpi/faces.bmp";
try {
Bitmap bitmap = BitmapFactory.decodeFile(pathName);
Face faces[] = new Face[maxFaces];
int nFaces = faceDetector.findFaces(bitmap, faces);
Log.d(this.getClass().toString(), "Faces: " + nFaces);
} catch (Exception e) {
Log.e(this.getClass().toString(), e.getMessage(), e);
}
}
}
Lösung
Wenn Sie nur testen, dann anstelle von Bitmap bitmap = BitmapFactory.decodeFile(pathName);
Du könntest benutzen:
Bitmap bitmap = BitmapFactory.decodeResource(R.drawable.faces);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow