我在我的android应用上遇到了一个奇怪的问题。我有一个自定义的相机屏幕来为文档拍照。
正如你在图片中看到的,Galaxy S4 (Android5.0.1)保存的图像与相机屏幕相同,但在Galaxy S7 (Android6.0.1)中,图像是从顶部和底部裁剪的。
S4摄像头屏幕

S4结果图像

S7摄像头屏幕

S7结果图像

我的相关代码块是;"onPictureTaken“
@Override
public void onPictureTaken(byte[] data, Camera camera) {
if (data == null) {
return;
}
Bitmap bmp = Tools.getBitmap(data);
super.onBackPressed();
}"getBitmap“
public class Tools {
/*.....*/
public static Bitmap getBitmap(byte[] data){
/*.....*/
Bitmap unscaledBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
return unscaledBitmap;
}
}有人能解释一下为什么会这样吗?
提前感谢
发布于 2017-03-17 21:47:29
经过多次尝试,我找到了上面提到的关于输出图片大小的问题,并用setPictureSize()解决了这个问题。
Camera.Size size=getBestPreviewSize(display.getHeight(), display.getWidth(), parameters);
parameters.setPreviewSize(size.width, size.height);
parameters.setPictureSize(size.width, size.height);
this.camera.setParameters(parameters);发布于 2017-02-09 19:55:55
我不认为S4图像和屏幕是一样的,在底部和左边有灰色区域。
基本上,如果你裁剪图像不同于你的屏幕比例,图像不会充满整个屏幕。然后,您可以显示空白区域(您正在显示的灰色区域),也可以对其进行中心裁剪,这将剪切图像的侧面。
https://stackoverflow.com/questions/42135989
复制相似问题