社区
Android
帖子详情
三星手机照片读取,图片位置不对问题。
fa2002
2016-05-24 11:25:28
我们的相册控件不知道为什么,在三星手机上看到的部分图片都是倒着的。
但用三星自己的相册看是正的。
我们自己加旋转,图片多了又会导致oom.
这个问题如何解决会更好?还望高人指教
...全文
643
5
打赏
收藏
三星手机照片读取,图片位置不对问题。
我们的相册控件不知道为什么,在三星手机上看到的部分图片都是倒着的。 但用三星自己的相册看是正的。 我们自己加旋转,图片多了又会导致oom. 这个问题如何解决会更好?还望高人指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fa2002
2016-05-24
打赏
举报
回复
自己顶!!!!!!
fa2002
2016-05-24
打赏
举报
回复
没那么简单啊,旋转多了会oom
蒲锦_up
2016-05-24
打赏
举报
回复
因为图片旋转了90度 你获取图片的旋转角度,转回来就行了
筱蒙
2016-05-24
打赏
举报
回复
当时我们用三星手机照出来相片也是旋转的,用得这个方法,不知道和你们用的一样不一样 ,我先贴出来你看看。 /** * 图片按比例大小压缩方法(根据路径获取图片并压缩): * * @param srcPath * @return */ public static byte[] getImageBytes(String srcPath) { BitmapFactory.Options newOpts = new BitmapFactory.Options(); // 开始读入图片,此时把options.inJustDecodeBounds 设回true了 newOpts.inJustDecodeBounds = true; Bitmap bitmap = BitmapFactory.decodeFile(srcPath, newOpts);// 此时返回bm为空 newOpts.inJustDecodeBounds = false; int w = newOpts.outWidth; int h = newOpts.outHeight; // 设置固定分辨率,所以高和宽我们设置为 float hh = 800f;// 这里设置高度为800f float ww = 600f;// 这里设置宽度为480f // 缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可 int be = 1;// be=1表示不缩放 if (w > h && w > ww) {// 如果宽度大的话根据宽度固定大小缩放 be = (int) (newOpts.outWidth / ww); } else if (w < h && h > hh) {// 如果高度高的话根据宽度固定大小缩放 be = (int) (newOpts.outHeight / hh); } else if (w == h) {// 如果高度高的话根据宽度固定大小缩放 be = (int) (newOpts.outHeight / hh); } if (be <= 0) be = 1; newOpts.inSampleSize = be;// 设置缩放比例 // 重新读入图片,注意此时已经把options.inJustDecodeBounds 设回false了 bitmap = BitmapFactory.decodeFile(srcPath, newOpts); int degree = readPictureDegree(srcPath); Bitmap newBitmap = rotatingImageView(degree, bitmap); ByteArrayOutputStream baos = new ByteArrayOutputStream(); newBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); if (newBitmap != null) { newBitmap.recycle(); System.gc(); } return baos.toByteArray();// 压缩好比例大小后再进行质量压缩 } /** * 获取图片旋转的角度 * * @param path 图片的路径 * @return 返回旋转的角度值 */ public static int readPictureDegree(String path) { int degree = 0; try { ExifInterface exifInterface = new ExifInterface(path); int orientation = exifInterface.getAttributeInt( ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL); switch (orientation) { case ExifInterface.ORIENTATION_ROTATE_90: degree = 90; break; case ExifInterface.ORIENTATION_ROTATE_180: degree = 180; break; case ExifInterface.ORIENTATION_ROTATE_270: degree = 270; break; } } catch (IOException e) { e.printStackTrace(); } return degree; } /* * 旋转图片 * * @param angle 图片旋转的角度 * * @param bitmap */ public static Bitmap rotatingImageView(int angle, Bitmap bitmap) { if (angle == 0) return bitmap; // 旋转图片 动作 Matrix matrix = new Matrix(); matrix.postRotate(angle); // 创建新的图片 Bitmap resizedBitmap = null; if (bitmap != null) { resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); } return resizedBitmap; }
安卓拍照上传录像监控录屏相关-
三星
照相默认旋转90度完美解决.rar
在本压缩包中,我们关注的是如何解决
三星
手机
相机拍摄的
照片
默认旋转90度的
问题
。这个
问题
可能会影响用户的体验,比如在查看
照片
时需要手动旋转屏幕或者使用第三方应用来修正。 首先,我们需要理解Android系统是...
Android 上传头像自定义(剪切、平移,缩放)
为了解决这个
问题
,我们需要
读取
图片
的EXIF信息,通过`ExifInterface`类来获取
图片
的旋转角度,然后利用`Matrix`进行旋转校正。 实现这些功能时,我们通常会创建一个自定义的`Activity`或`Fragment`,并在其中包含...
新版Android开发教程.rar
难点在于
位置
营销。 设备商通过卖设备、内置特色应用来获得盈利。也可以兼职专业软件开发者进行赢利。 Google 自身通过基于统一平台为用户提供信息来盈利。 Android Android Android Android 的优势 � 源代码完全...
Android--使用
手机
拍照获取
图片
路径,小米
手机
选择
照片
问题
处理
Android开发选取
照片
问题
本文主要记录使用
手机
自带相机拍照获取返回
照片
路径,以及从本地相册选取已有
照片
时返回Intent data; 数据处理 操作。(小米
手机
获取
照片
路径与其他
手机
不一致
问题
!)
关于
手机
方面——全网最详细的读写和
读取
速度讲解
我们的
手机
日常应用中,经常需要读档和存档(读档——
读取
,存档——写入),“写入”的意思就是往硬盘里面拷资料,如把电影
图片
文档什么的存入你的电脑硬盘。而“
读取
”就是查看已经存在硬盘里的资料,而这些都与...
Android
80,492
社区成员
91,376
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章