我试图通过在对象上调用getBitmap()函数从TextureView中保存位图,它在纵向模式下效果很好。但是,当它变为横向模式时,它会出现问题,给定的位图与屏幕上的预览不同(看起来纹理视图正在将位图拉伸到横向模式,但是以纵向模式捕获了场景)
我尝试使用基于Google Sample的Camera2Basic示例的修改后的ImageSaver。测试设备是联想,三星和小米。所有设备都有此问题,因此我认为代码有问题。基本上,我完成了直接从“摄像机捕获”中保存图像的一个按钮,当我单击另一个按钮时,我要做的就是保存当前的预览屏幕捕获(基于显示屏的分辨率,而不是摄像机的分辨率,因为设备的分辨率可能与摄像机的分辨率不同)。按钮。
Bitmap viewBitmap = mTextureView.getBitmap();
output = new FileOutputStream(mFile);
viewBitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
output.close();
我希望当方向为横向时,getBitmap()函数的输出将与屏幕上的预览相同。