[英]Camera Preview upside down
前置攝像頭顯示顛倒。 我正在閱讀每一幀。 我想我知道將代碼放在surfaceChanged中的位置,但不知道該怎么做。
@Override
public void surfaceChanged(SurfaceHolder mHolder, int arg1 , int arg2 , int arg3)
{
if (mHolder.getSurface() == null) { return; }
mCamera.setPreviewCallback(previewCallback);
try
{
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
return;
}
catch (Exception exception)
{
Log.d("CameraView", (new StringBuilder()).append("Error starting camera preview: ")
.append(exception.getMessage()).toString());
}
}
我嘗試了什么。
private android.hardware.Camera.PreviewCallback previewCallback = new android.hardware.Camera.PreviewCallback()
{
public void onPreviewFrame(byte abyte0[] , Camera camera)
{
int[] rgbData = YuvUtils.decodeGreyscale(abyte0, widthPreview,heightPreview);
editedBitmap.setPixels(rgbData, 0, widthPreview, 0, 0, widthPreview, heightPreview);
if(MainActivity2.cameraId==CameraInfo.CAMERA_FACING_FRONT) // it is rotating my CameraPreview continuosly.
{
matrix.postRotate(270F);
}
finalBitmap = Bitmap.createBitmap(editedBitmap, 0, 0, widthPreview, heightPreview, matrix, true);
if(saveCurrentFrame)
{
saveCurrentFrame =false;
new BitmapSaver(ctx, finalBitmap).start();
}
}
};
但是它一直在旋轉我的相機預覽。 我的活動設置為Potrait。 我的活動中不允許更改方向
我會使用matrix.setRotate()
。
matrix.postRotate()
每次調用時都會增加旋轉。 角度從270-> 540-> 810-> 1080-> 1350->等
matrix.setRotate()
始終將其設置為270。
拍攝照片之前,可以使用_camera.SetDisplayOrientation(90)
旋轉相機的預覽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.