根据文档,setRotation(90)应该旋转捕获的 JPEG 图片(横向模式下的takePicture .
这适用于 HTC 手机,但不适用于三星 Google Nexus S 和三星 Galaxy S3。这是一个错误吗?
我知道我可以使用矩阵变换旋转,但希望操作系统可以更有效地执行此操作,并且不想冒在其他一些设备上过度旋转的风险。
编辑
设置camera.setDisplayOrientation(90);
使预览处于纵向模式,但它对拍摄的照片没有任何影响。
此外,此外setRotation
,我还尝试设置图片大小 - 我h
用w
:翻转的位置parameters.setPictureSize(1200, 1600);
。这也没有任何影响。
解决方案
显然三星手机设置了 EXIF 方向标签,而不是旋转单个像素。如建议的那样,使用不支持此标记ariefbayu
读取位图。BitmapFactory
他的代码示例就是解决方案,而且这个解决方案也兼容使用inSampleSize
.