我正在尝试使用相机api直接拍摄照片,但这是我得到的预览:

这是调用后拍摄的图像,takePicture()它大于预览本身:

(注意:我裁剪了前两张照片的高度,以提高问题的可读性,并保持宽度不变)
我正在使用此实用程序方法在开始相机预览之前选择最佳的最佳预览尺寸:
public static Camera.Size getBestAspectPreviewSize(int displayOrientation,
int width,
int height,
Camera.Parameters parameters) {
double targetRatio = (double) width / height;
Camera.Size optimalSize = null;
double minDiff = Double.MAX_VALUE;
if (displayOrientation == 90 || displayOrientation == 270) {
targetRatio = (double) height / width;
}
List<Camera.Size> sizes = parameters.getSupportedPreviewSizes();
Collections.sort(sizes,
Collections.reverseOrder(new SizeComparator()));
for (Camera.Size size : sizes) {
double ratio = (double) size.width / size.height;
if (Math.abs(ratio - targetRatio) < minDiff) {
optimalSize = size;
minDiff …Run Code Online (Sandbox Code Playgroud) 我想知道相机的视角,就像在这个问题中,但使用android.hardware.camera2.如何使用新的camera2库重现下一个代码.
Camera.Parameters p = camera.getParameters();
double thetaV = Math.toRadians(p.getVerticalViewAngle());
double thetaH = Math.toRadians(p.getHorizontalViewAngle());
Run Code Online (Sandbox Code Playgroud)
有没有办法做同样的事情?
与确定智能手机相机的视角相同的问题,适用于WP7.似乎找不到合适的方法,我不想让我的用户自己校准(如果可能的话).谢谢
我正在尝试在Android中编写一个基本的增强现实应用程序,但我在进行平台解耦计算时遇到了一些麻烦,因为我不知道如何解释Android上的缩放级别.
缩放级别的范围是0 - params.getMaxZoom(),但我找不到任何关于这些缩放级别实际意味着什么的文档(例如,缩放级别0显然是0%放大,但是缩放级别1像10%放大?)
缩放级别是完全未定义的和任意抽象?我希望不会 - 这会让放大的AR变得毫无希望.