Ich nenne takePicture
mit einem Rückruf für das JPEG-Ereignis: camera.takePicture(null, null, this);
Warum führen die Bildbytedaten in onPictureTaken zu einem gespiegelten Bild?
ist der Callback-Handler:
@Override
public void onPictureTaken(final byte[] data, Camera camera) {
Bitmap picture = BitmapFactory.decodeByteArray(data, 0, data.length);
MediaStore.Images.Media.insertImage(getContentResolver(), picture, "name" , "description");
}
In Tests, ich finde, dass das Bild immer um die y-Achse gespiegelt wird. Weiß jemand (1), ob dies für alle Geräte passiert, und (2) warum? Ich verstehe wirklich nicht, warum die Byte-Daten nicht das darstellen, was ich in der Kamera-Vorschau sehe. Ist das eine unzumutbare Erwartung?
Nizza! Vielen Dank. Gibt es eine Dokumentation darüber, ob die Frontkamera * so zu spiegeln hat? Oder ist das eine ungeschriebene Regel, der alle Hersteller folgen? – user5243421
Ich denke, es ist eine allgemeine Spezifikation. Wenn die Kamera auf Sie gerichtet ist, wird das Bild aus seiner Perspektive aufgenommen. (Das ist das Gegenteil von dem, was Sie sehen.) Nicht sicher über die Dokumentation, aber meine Samsung, HTC, Sony Geräte alle Verhalten auf diese Weise. – Calvin