Was ich tue scheint scheint, es sollte einfach sein, aber ich bin immer noch verloren, nachdem ich jede mögliche Stackoverflow Antwort gelesen habe, die ich finden und alle googeln kann Artikel, den ich finden kann.Android Kamera unerklärliche Rotation auf Aufnahme für einige Geräte (nicht in EXIF)
Ich verwende eine Vorschau SurfaceView und Erfassen eines Bildes aus einer Aktivität, die für screenOrientation = "Landschaft" in meiner AndroidManifest.xml festgelegt ist.
Ich folgte dem Beispielcode der Kamera App und dachte, dass die Dinge funktionierten, bis ich meine App auf einigen Motorola-Geräten mit 1.5 versuchte.
Ich habe das OrientationEventListener OK laufen und ich verwende Reflexion, wenn die Drehung als solche eingestellt, um zu sehen:
final int latchedOrientation = roundOrientation(mLastOrientation + 90);
Parameters parameters = preview.camera.getParameters();
JPLog.d("Setting camera rotation = %d", latchedOrientation);
try {
// if >= 2.0
Method method = Camera.Parameters.class.getMethod("setRotation",
int.class);
if(method != null) {
method.invoke(parameters, latchedOrientation);
}
} catch(Throwable t) {
// if < 2.0
parameters.set("rotation", latchedOrientation);
}
preview.camera.setParameters(parameters);
NexusOne (OS 2.2) - hervorragend. latchedOrientation = 0, Bild OK ohne Drehung im EXIF-Header.
T-Mobile G1 (OS 1.6) - Funktioniert auch gut. latchedOrientation = 0, Bild OK.
Motorola Backflip (OS 1.5) - Bild gedreht. latchedOrientation = 0, Bild hat keine EXIF-Rotation.
Motorola CLIQ (OS 1.5) - Bild gedreht. latchedOrientation = 0, Bild hat keine EXIF-Rotation.
Was ist mit diesen Motorola-Geräten los? Ich dachte, mein Problem sei, dass der Motorola-Kameratreiber die Bilder nicht rotierte, also fand ich die Sanselan EXIF-Leseklassen für Android und bereitete mich darauf vor, sie selbst zu drehen. Lustig ist, es gibt EXIF-Header, aber kein Rotationselement.
Wenn ich die Drehung manuell auf 90 Grad einstellen, kommen die Bilder perfekt aus den Motorola-Geräten, aber jetzt haben die G1 und NexusOne Bilder, die um 90 Grad gedreht sind (nicht was ich will). Es muss etwas geben, was ich nicht hier bekomme.
Ich bezweifle, dass dies ein Problem 1.5 ist, oder jemand hätte Informationen darüber geschrieben?
Antwort hier http://stackoverflow.com/questions/14066038/why-image-captured-using-camera-intent-gets -roated-on-many-devices-in-android –