Camera Preview verzerrt

  • Hallo,


    in meiner app soll auch die Kamera benutzt werden. Habe dazu das Beispiel aus dem Sdk (unter "android-8") mehr oder weniger 1:1 übernommen und etwas modifiziert. Aber das preview-Bild ist verzerrt und ausserdem um 90 Grad nach links gedreht.


    Ich benutze kein XML-Layout, sondern baue den Screen per Programmcode zusammen. Ausserdem ist nicht nur die SurfaceView zu sehen, sondern noch zwei Buttons, eingebettet in ein LinearLayout, welches wiederum in einem anderen LinearLayout steckt.


    Egal, ob da im Programmcode steht (in FotoPreview.surfaceChanged)


    parameters.setPreviewSize(200,300);
    parameters.setRotation(90);


    oder nicht, es hat keinen Einfluss. Das Preview-Bild füllt IMMER den gesamten Platz, den die SurfaceView auf dem Display hat, und es ist IMMER um 90 Grad gedreht. Kann mir da einer helfen? Auch bei allen Beispielen die ich gefunden und ausprobiert hab (das aus dem SDK sowie zwei, allerdings fast identische, aus dem Internet) waren ebenfalls verzerrt und nach links gedreht. Anbei der Code:



    Die Klasse, die die view zusammenbaut (wird von der acitivty aufgerufen, "ViewGroup parent" ist ein LinearLayout):


  • Ok also die grösse des Preview-Fensters kann man wohl einfach direkt einstellen, per surfaceView.setLayoutParams(...); Soweit so gut.


    Trotzdem ist das Bild noch um 90 Grad gekippt. Dabei ist mir aufgefallen, dass das offenbar mit der Einstellung "android:screenOrientation="portrait"" in der manifest-Datei zu tun hat, wo dies fest eingestellt ist (und auch so bleiben soll). Wenn man das auf landscape ändert, wird das Bild von der cam korrekt angezeigt (allerdings ist die App dann unbrauchbar ;) ).


    Man müsste das Preview-Bild also um 90 grad drehen. Nur wie????

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!