setTransform () для SurfaceView

#java #android #android-camera

#java #Android #android-камера

Вопрос:

При записи через TextureView на экран не используется зеркальное отображение метода setTransform ():

 Matrix txform = new Matrix();
mTextureView.getTransform(txform);
txform.setScale((float) newWidth / viewWidth, (float) newHeight / viewHeight);
txform.postTranslate(xoff, yoff);
mTextureView.setTransform(txform);
 

И в моем случае я использую SurfaceView вместо TextureView, и оказывается, что есть этот метод…

Вопрос: Что я должен сделать, чтобы зеркало не отражало, и что использовать вместо setTransform () ?

Ответ №1:

Для зеркального отображения по оси Y используйте это:

 txform.setScale(-(float) newWidth / viewWidth, (float) newHeight / viewHeight, viewWidth / 2.f , 0);
 

Комментарии:

1. но нет метода surfaceview setTransform () матрица параметров?

2. @TITAN , surfaceview не предоставляет такого API. но вы можете попробовать проверить setScaleX представления: developer.android.com/reference/android/view /…