Zoom Camera2 Preview, используя TextureView

У меня проблема с моим предварительным просмотром для Camera2 API. Я использую TextureView.

Я хочу увеличить только предварительный просмотр потока, который был показан в TextureView.

Я хочу увеличить область, в которой я использую жест масштабирования.

Я использую SimpleOnScaleGestureListener!

Я добавил следующий код. Коэффициент масштабирования и Положение х и у справа.

 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);


}

Масштабирование Право, но не Положение, в котором я Масштаб. Например! Когда я увеличиваю положение вправо / влево, я вижу только левый / верхний прямоугольник потока.

Я добавилследующие фотографии чтобы понять проблему.

Ответы на вопрос(5)

Ваш ответ на вопрос