Camera.Parameters.SetRotation(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
deprecated
Legt den Drehwinkel im Uhrzeigersinn in Grad relativ zur Ausrichtung der Kamera fest.
[Android.Runtime.Register("setRotation", "(I)V", "GetSetRotation_IHandler")]
[System.Obsolete("deprecated")]
public virtual void SetRotation(int rotation);
[<Android.Runtime.Register("setRotation", "(I)V", "GetSetRotation_IHandler")>]
[<System.Obsolete("deprecated")>]
abstract member SetRotation : int -> unit
override this.SetRotation : int -> unit
Parameter
- rotation
- Int32
Der Drehwinkel in Grad relativ zur Ausrichtung der Kamera. Drehung kann nur 0, 90, 180 oder 270 sein.
- Attribute
Ausnahmen
wenn der Drehungswert ungültig ist.
Hinweise
Legt den Drehwinkel im Uhrzeigersinn in Grad relativ zur Ausrichtung der Kamera fest. Dies wirkt sich auf die von JPEG PictureCallbackzurückgegebenen Bilder aus. Der Kameratreiber kann die Ausrichtung im EXIF-Header festlegen, ohne das Bild zu drehen. Oder der Treiber kann das Bild und die EXIF-Miniaturansicht drehen. Wenn das JPEG-Bild gedreht wird, fehlt die Ausrichtung in der EXIF-Kopfzeile oder 1 (Zeile #0 ist oben und Spalte #0 ist links).
Wenn Anwendungen das Bild drehen möchten, um die Ausrichtung der Benutzer anzuzeigen, sollten Apps verwenden android.view.OrientationEventListener und verwenden.android.hardware.Camera.CameraInfo Der Wert von OrientationEventListener ist relativ zur natürlichen Ausrichtung des Geräts. CameraInfo.orientation ist der Winkel zwischen Kameraausrichtung und natürlicher Geräteausrichtung. Die Summe der beiden ist der Drehwinkel für die rückgerichtete Kamera. Der Unterschied der beiden ist der Drehwinkel für die Frontkamera. Beachten Sie, dass die JPEG-Bilder von frontgerichteten Kameras nicht wie in der Vorschauansicht gespiegelt werden.
Angenommen, die natürliche Ausrichtung des Geräts ist hochformat. Das Gerät wird um 270 Grad im Uhrzeigersinn gedreht, sodass die Geräteausrichtung 270 beträgt. Angenommen, ein rückgerichteter Kamerasensor ist im Querformat montiert, und die obere Seite des Kamerasensors wird am rechten Rand der Anzeige in natürlicher Ausrichtung ausgerichtet. Die Kameraausrichtung beträgt also 90. Die Drehung sollte auf 0 (270 + 90) festgelegt werden.
Der Referenzcode lautet wie folgt.
public void onOrientationChanged(int orientation) {
if (orientation == ORIENTATION_UNKNOWN) return;
android.hardware.Camera.CameraInfo info =
new android.hardware.Camera.CameraInfo();
android.hardware.Camera.getCameraInfo(cameraId, info);
orientation = (orientation + 45) / 90 * 90;
int rotation = 0;
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
rotation = (info.orientation - orientation + 360) % 360;
} else { // back-facing camera
rotation = (info.orientation + orientation) % 360;
}
mParameters.setRotation(rotation);
}
Java Dokumentation für android.hardware.Camera.Parameters.setRotation(int).
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
Weitere Informationen
- OrientationEventListener
- <xref:Android.Hardware.Camera.GetCameraInfo(System.Int32%2c+Android.Hardware.Camera.CameraInfo)>