踩坑:图片拍照上传等

网友投稿 586 2022-11-19

踩坑:图片拍照上传等

踩坑:图片拍照上传等

以前这个功能也做过,无奈这次碰上的坑特别多,特此记录。

为啥拍照后总resultCode总是0?

检查了许久,发现,存储的位置不在sdcard,所以拍照后的resultCode总是0。以前没有关注过,以后就要注意,拍照后存储的位置必然sdcard,否则拍照后的结果为失败。

空图片,一选就挂掉

这一问题主要源于上面,上面创建了图片文件,但因为没有正确放入图片,所以大小为空,所以压缩之前要判断是否为空。

部分手机的图片旋转问题

有些手机拍照后图片会发生旋转,这个时候查看也会发现是旋转的,此时需要用特定方法旋转回正确的位置。

public static Bitmap rotateBitmap(Bitmap b, String filepath) { int degrees = getExifOrientation(filepath); if(degrees != 0 && b != null) { Matrix m = new Matrix(); m.setRotate((float)degrees, (float)b.getWidth() / 2.0F, (float)b.getHeight() / 2.0F); try { Bitmap b2 = Bitmap.createBitmap(b, 0, 0, b.getWidth(), b.getHeight(), m, true); if(b != b2) { b.recycle(); b = b2; } } catch (OutOfMemoryError var5) { ; } } return b; } public static int getExifOrientation(String filepath) { short degree = 0; ExifInterface exif = null; try { exif = new ExifInterface(filepath); } catch (IOException var4) { ; } if(exif != null) { int orientation = exif.getAttributeInt("Orientation", -1); if(orientation != -1) { switch(orientation) { case 3: degree = 180; case 4: case 5: case 7: default: break; case 6: degree = 90; break; case 8: degree = 270; } } } return

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:那些可以赚钱的私人点子
下一篇:2020牛客寒假算法基础集训营2——J-求函数【线段树 维护 矩阵乘法】【函数推导 + 双线段树维护参数】
相关文章

 发表评论

暂时没有评论,来抢沙发吧~