相关疑难解决方法(0)

使用ACTION_IMAGE_CAPTURE拍摄的图像在某些Gingerbread设备上的ExifInterface.TAG_ORIENTATION返回1

在处理ACTION_IMAGE_CAPTURE活动时我遇到了方向问题.我已经使用过,TAG_ORIENTATION所以我会相应地旋转图片.但现在我们发现在一些较新的设备上这不起作用.事实上,它为所有方向返回1.

这是我们观察到的设备列表;

  • 三星Infuse 4G(2.3.3)
  • 三星Galaxy SII X(2.3.5)
  • 索尼Xperia Arc(2.3.3)

有趣的是,一旦这个图像是图库它正确显示,如果我选择它,TAG_ORIENTATION就会正确填充.所以不知何故OS正确地填写了这些信息,但没有ActivityResult.

确定方向的最可靠方法是什么?有人在另一个问题上建议比较高度和宽度但是在获得这些时,它们会根据方向正确切换(另一个谜)

编辑:似乎这可能连接到另一个错误,其中操作系统复制在库中拍摄的图像(它只应该将图像保存在我们指定的URL中),事情是这个图像在库中有ORIENTATION信息而指定位置的一个没有.

这是错误; http://code.google.com/p/android/issues/detail?id=19268

编辑2:我已经向Android提交了一个新的错误.我很确定这是与上述错误相关的操作系统错误. http://code.google.com/p/android/issues/detail?id=22822

android exif image-capture orientation

40
推荐指数
3
解决办法
4万
查看次数

来自画廊/相机意图的图片方向

我从相机/画廊意图到我的应用程序的照片.在许多手机中,我从意图/ Uri中读取的图片已经旋转到正确的方向.例如N1,Legend,Desire就是这种情况.

但是在某些手机上(例如Milestone1,GalaxyS),无论拍摄图片的方式如何,图片总是在风景中.这意味着在我的应用程序中,纵向图片以错误的方式呈现给用户.我试图读取图片的EXIF信息,但方向标记始终为0.必须有一种方法可以找到图片的正确方向,因为在Milestone1中,图库应用程序正确显示肖像图片.

我如何知道在向用户展示之前是否需要自己旋转图片?

谢谢你的帮助!

android image orientation

32
推荐指数
3
解决办法
3万
查看次数

Nexus S和三星Galaxy S I9000上的ACTION_IMAGE_CAPTURE方向问题

我正在尝试使用以下代码拍摄照片并将其存储到内部存储中:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
takenPhoto = new File(uploadsFolder, getNewPicFileName());
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(takenPhoto));
startActivityForResult(intent, SHOOT_MEDIA_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)

问题是在Nexus S和Galaxy S设备默认情况下,ACTION_IMAGE_CAPTURE意图的单一方向是横向.如果我以纵向模式拍摄照片,则该照片将被存储到旋转的"拍摄照片"文件中.

这个问题似乎只出现在三星Galaxy S设备(Galaxy S和Nexus S)上,我试过的其他设备根据图像拍摄时的方向进行自动旋转.

我将非常感谢有关该问题的任何帮助.

android android-intent galaxy nexus-s

7
推荐指数
1
解决办法
2408
查看次数