gpt4 book ai didi

Android 相机 View 倒置

转载 作者:行者123 更新时间:2023-11-29 14:05:25 27 4
gpt4 key购买 nike

我正在构建一个应用程序,我需要在其中从自定义相机拍摄照片并且 View 是倒置或旋转的(当我上下移动它时,图片会横向移动)。

知道为什么会这样以及如何解决这个问题吗?

这是相机的代码:

class Preview extends SurfaceView implements SurfaceHolder.Callback {
private static final String TAG = "Preview";

SurfaceHolder mHolder;
public Camera camera;

Preview(Context context) {
super(context);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}

public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();

try {
camera.setPreviewDisplay(holder);

camera.setPreviewCallback(new PreviewCallback() {
// Called for each frame previewed
public void onPreviewFrame(byte[] data, Camera camera) {
Log.d(TAG, "onPreviewFrame called at: " + System.currentTimeMillis());
Preview.this.invalidate();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}

public void surfaceDestroyed(SurfaceHolder holder) {
camera.stopPreview();
camera.release();
camera = null;
}

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
camera.startPreview();

调用预览的代码:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.solve_capture);

preview = new Preview(this); // <3>
((FrameLayout) findViewById(R.id.preview)).addView(preview); // <4>

buttonClick = (Button) findViewById(R.id.buttonCapture);
buttonClick.setOnClickListener(new OnClickListener() {
public void onClick(View v) { // <5>
preview.camera.takePicture(shutterCallback, rawCallback, jpegCallback);
}
});

buttonFocus = (Button) findViewById(R.id.buttonFocus);
buttonFocus.setOnClickListener(new OnClickListener() {
public void onClick(View v) { // <5>
preview.camera.autoFocus(new AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
Camera.Parameters camParam = camera.getParameters();
camParam.setFocusMode(Parameters.FOCUS_MODE_AUTO);
camera.setParameters(camParam);
}
});
}
});

Log.d(TAG, "onCreate'd");
}

最佳答案

好的,我找到了适合我的方法:我已将(在 list 中)使用预览(即我提供的代码的第二部分)方向的 Activity 设置为“横向”,并更改布局以适应横向模式。现在相机看起来不错。但这意味着相机 Activity 将始终处于横向状态(这对我来说已经足够好了)。

关于Android 相机 View 倒置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310998/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com