Zoom-Kamera 2-Vorschau mit TextureView

ich habe ein Problem mit meiner Vorschau-Zoom für die Kamera 2-API. Ich bin mit einem TextureView.

Möchte ich nur zoom der Vorschau-Stream, der war, zeigte sich in den TextureView.

Möchte ich zum vergrößern Sie den Bereich, wo ich die Zoom-Geste.

Ich die SimpleOnScaleGestureListener!

Fügte ich folgenden Code. Die zoomingFactor und die x-und y-Position sind richtig.

 private void updateTextureViewSize(float xPosi,float yPosi, float scale){
        float scaleX = 1.0f;
        float scaleY = 1.0f;




        float mVideoWidth = mCamcontrol.getmPreviewSize().getWidth();
        float mVideoHeight = mCamcontrol.getmPreviewSize().getHeight();

        int rotation = getWindowManager().getDefaultDisplay().getRotation();
        RectF viewRect = new RectF(0, 0, 1440, 2560);
        RectF bufferRect = new RectF(0, 0, mVideoHeight, mVideoWidth);

        bufferRect.offset(xPosi - bufferRect.centerX(), yPosi -    bufferRect.centerY());

         //16:9 faktor
        scaleX = ((mScale * scale) / 9f) * 16f;
        scaleY = ((mScale * scale) / 16f) * 9f;

        Matrix matrix = new Matrix();

        matrix.setRectToRect(bufferRect, viewRect, Matrix.ScaleToFit.FILL);
        scalefactorView.setText(String.valueOf(xPosi) + "  " + String.valueOf(yPosi));

        matrix.setScale(scaleY, scaleX, xPosi, yPosi);
        matrix.postRotate(90 * (rotation - 2), xPosi, yPosi);

        mTextureView.setTransform(matrix);


}

Zoomen ist Recht, aber nicht die Position wo ich Zoomen. Zum Beispiel! Wenn ich zoom auf die position rechts/Mitte sehe ich nur die linke/Obere Rechteck des Baches.

Habe ich den folgenden Bilder zu verstehen das problem.

InformationsquelleAutor m.b. | 2015-09-22
Schreibe einen Kommentar