【发布时间】:2013-10-30 22:53:39
【问题描述】:
在下面的代码中,我尝试使用本机相机拍照并上传到服务器,但是当我将其作为纵向并在图库中以横向查看时,这意味着它旋转了 90 度。请帮助:-
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_CAMERA);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_CAMERA) {
handleCameraPhoto();
}
private void handleCameraPhoto() {
Intent mediaScanIntent = new Intent(
"android.intent.action.MEDIA_SCANNER_SCAN_FILE");
File f = new File(mCurrentPhotoPath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
getActivity().sendBroadcast(mediaScanIntent);
}
如何在保存到 SD 卡之前旋转图像?
【问题讨论】:
-
请记住,一些 Android 设备会拍摄纵向照片并将其保存为纵向,而一些 Android 设备会拍摄纵向照片并将其保存为横向,将旋转信息添加到 EXIF 元数据以表明它们实际上是纵向的。 (见stackoverflow.com/questions/3647993/…)。您需要找出正在发生的情况并仅在必要时进行纠正。 (如果您可以修复您的服务器以注意 EXIF 轮换数据,则您可能不需要在设备上进行更正。)
-
@MattGibson 我还是迷路了。所以我什么都不做会更好吗?我是安卓新手。我只是参考链接以及如何合并到我的代码中?
标签: android