我需要拍照,找出它的方向,在Canvas上绘制它并旋转Canvas。我需要帮助找出照片的方向 最佳答案 您需要使用嵌入在照片中的EXIF标签:privateintgetExifOrientation(){ExifInterfaceexif;intorientation=0;try{exif=newExifInterface(mImagePath);orientation=exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,1);}catch(IOExceptione){e.print
我正在HTCDesirewithAndroid2.2上测试我的应用程序。它完全按照我的意愿工作。我使用Sherlock包在旧设备上与新设备上具有相同的样式。我的AVD设置为使用最新的android,看起来也不错。然后我将它放在三星GalaxyS2上,当我处理相机和画廊图像时,它们旋转错误。它接缝三星上的某些东西(相机应用程序,androiditself)没有或者它确实检查EXIF并且我的图像方向错误。纵向图像以横向加载,横向图像以纵向加载。我想我需要以某种方式检查EXIF并忽略它以便按原样加载图像?更大的问题是-如何知道是否有任何其他设备(一些HTC,一些HUAWEI或任何)会出现类似
目前我正在尝试将自定义exif标签/数据添加到相册中的图像文件。我能够修改ExifInterface中定义的现有标签类但是,我想存储自定义数据,例如我的应用用户的用户ID,但似乎无法创建自定义exif属性我找到的最接近的解决方案是here,但不起作用, 最佳答案 尝试使用标签保存Exif数据:"UserComment"代码:StringmString="Yourmessagehere";ExifInterfaceexif=newExifInterface(path_of_your_jpeg_file);exif.setAttribu
我正在尝试使用ExifInterface更改exif标签。我使用setAttribute()并调用saveAttributes()。标签暂时保存,下次旧值还在,没有更新......................例子:ExifInterfaceexifInterface=newExifInterface(filePath);Stringo1=exifInterface.readAttribute(TAG_ORIENTATION);//o1is"0"exifInterface.setAttribute(TAG_ORIENTATION,"90");exifInterface.saveAtt
我已经研究并尝试了很多选项来尝试让它工作,但不幸的是我没有得到任何结果。我想做的是在Android应用程序中的JPEGExif数据中设置拍摄日期标签(Tag_DateTime)。我已经有了设置纬度和经度标签的工作代码,但我这辈子都无法设置拍摄日期标签。代码如下:SimpleDateFormatfmt_Exif=newSimpleDateFormat("yyyy:MM:ddHH:mm:ss");try{ExifInterfaceexif=newExifInterface(filePhoto.getPath());//SetandsavetheGPSandtimedataexif.setA
Camera.Parameters中的setRotation方法并不适用于所有设备。有人建议手动更改EXIF信息来解决问题。你能给我一个简短的例子,说明如何使用ExifInterface设置exif信息,从而将图像方向设置为纵向吗?privateintsavePicture(byte[]data){FilepictureFile=getOutputMediaFile();if(pictureFile==null)returnFILE_CREATION_ERROR;try{FileOutputStreamfos=newFileOutputStream(pictureFile);fos.w
是否有任何类型的Android条件编译?我不得不为Android3(API11)制作我的项目只是因为ExifInterface在Android2.3(API10)中几乎没有有用的属性,尽管它出现在API5(!!??)。我不想将我的应用限制为ICS用户。谢谢! 最佳答案 您可以动态检查设备的当前API版本并根据该版本执行不同的操作:if(Build.VERSION.SDK_INT但是请注意,如果您需要实例化并非所有API都可用的类,那么您应该在可运行的或单独的包装类中进行,例如:if(Build.VERSION.SDK_INT
我正在尝试从YUV_420_888图像获取Exif数据,但它不起作用。我尝试了几种解决方案,例如将图像以jpeg格式保存到磁盘,将其转换为输入流,但似乎没有任何效果。我使用androidcamera2api捕获YUV_420_888图像。然后在OnImageAvailableListener中获取图像并尝试使用ExifInterfaceAPI读取其EXIF数据。但它始终是空的。我尝试了这个link中的所有方法得到正确的字节数组。这是我的代码:@OverridepublicvoidonImageAvailable(ImageReaderimageReader){if(!isRecordi
我知道可以通过在ExifInterface中指定字符串标签来获取特定的exif数据。例如,获取图像的日期类似于:ExifInterfaceexif=newExifInterface(pathToImage);exif.getAttribute(ExifInterface.TAG_DATETIME);有没有一种方法可以简单地获取所有非空的可用exif字符串,而无需为每个字符串手动编写获取代码? 最佳答案 您可以将所有要查询的标签组成一个数组,并将查询的非空结果放入集合(可能是hashmap)或其他东西(可能是JsonObject)中。
我需要从SD卡中获取图像,创建、旋转并保存更改后的图像。我尝试使用这段代码Bitmaporiginal=BitmapFactory.decodeFile(file.getAbsolutePath());ExifInterfaceoriginalExif=newExifInterface(file.getAbsolutePath());intorientation=originalExif.getAttributeInt(ExifInterface.TAG_ORIENTATION,ExifInterface.ORIENTATION_UNDEFINED);Matrixmatrix=newM