我的编程空间,编程开发者的网络收藏夹
学习永远不晚

android判断相机图片朝向的简单方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

android判断相机图片朝向的简单方法

android应用里使用相机图片时必须要考虑的一个问题就是图片朝向,只有判断对朝向才能调整图片从而更好的展现。本文将介绍一种通过ExifInterface判断图片朝向的方法!

上代码:

public void setImg(String imgPath, ImageView imgView) {File file = new File(imgPath);if (file.exists() && file.canRead()) {// -------1.图片缩放--------// 手机屏幕信息DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);int dw = metric.widthPixels; // 屏幕宽int dh = metric.heightPixels; // 屏幕高// 加载图像,只是为了获取尺寸BitmapFactory.Options options = new BitmapFactory.Options();options.inJustDecodeBounds = true; // 设置之后可以获取尺寸信息Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options);// 计算水平和垂直缩放系数int heightRatio = (int) Math.ceil(options.outHeight / (float) dh);int widthRatio = (int) Math.ceil(options.outWidth / (float) dw);// 判断哪个大if (heightRatio > 1 && widthRatio > 1) {if (heightRatio > widthRatio) {options.inSampleSize = heightRatio;} else {options.inSampleSize = widthRatio;}}// 图片缩放options.inJustDecodeBounds = false;bitmap = BitmapFactory.decodeFile(imgPath, options);// -------2.判断图片朝向--------try {ExifInterface exif = new ExifInterface(imgPath);int degree = 0; // 图片旋转角度if (exif != null) {int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);if (orientation != -1) {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;default:break;}}}if (degree != 0) { // 图片需要旋转int width = bitmap.getWidth();int height = bitmap.getHeight();Matrix matrix = new Matrix();matrix.preRotate(degree);Bitmap mRotateBitmap = Bitmap.createBitmap(bitmap, 0, 0,width, height, matrix, true);imgView.setImageBitmap(mRotateBitmap);} else {imgView.setImageBitmap(bitmap);}} catch (IOException e) {}}}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

android判断相机图片朝向的简单方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

android判断相机图片朝向的简单方法

android应用里使用相机图片时必须要考虑的一个问题就是图片朝向,只有判断对朝向才能调整图片从而更好的展现。本文将介绍一种通过ExifInterface判断图片朝向的方法!上代码:/** * * 利用给定路径下的图片设置ImageVie
2023-05-31

Android实现简单图片压缩的方法

本文实例讲述了Android实现简单图片压缩的方法。分享给大家供大家参考,具体如下: 在开发图片浏览器等软件是,很多时候要显示图片的缩略图,而一般情况下,我们要将图片按照固定大小取缩略图,一般取缩略图的方法是使用BitmapFactory的
2022-06-06

android中知道图片name时获取图片的简单方法

1. 图片放在sdcard中, 代码如下:  Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,跟目录是/sdcard)  2. 图片在项目的res文件夹下面
2022-06-06

Android简单判断某个APK是否已经安装的方法

本文实例讲述了Android简单判断某个APK是否已经安装的方法。分享给大家供大家参考,具体如下:privateboolean isAppInstalled(String uri){ PackageManager pm = getPacka
2022-06-06

android中图片翻页效果简单的实现方法

代码如下:public class PageWidget extends View { private Bitmap foreImage; private Bitmap bgImage; private PointF to
2022-06-06

Android判断屏幕是横屏或是竖屏的简单实现方法

本文所述为一个Android的常用技巧代码,主要用于判断手机屏幕是横向或是竖向的,在判断屏幕水平或垂直后你可以对程序做出相应的响应,该实例代码只是判断是否为竖屏,若判断正确返回true,否则返回false。 具体的程序代码如下:packag
2022-06-06

Android判断软键盘弹出并隐藏的简单完美解决方法(推荐)

最近项目中有一个编辑框,下面是个ListView。在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击。这样的体验效果很不好。于是便想在滑动或单击item时判断键盘是否弹出,若弹出,则把它隐藏。 网
2022-06-06

Android中简单调用图片、视频、音频、录音和拍照的方法

本文实例讲述了Android中简单调用图片、视频、音频、录音和拍照的方法。分享给大家供大家参考,具体如下://选择图片 requestCode 返回的标识 Intent innerIntent = new Intent(Intent.ACT
2022-06-06

Android开发中调用系统相册上传图片到服务器OPPO等部分手机上出现短暂的显示桌面问题的解决方法

要原因是主体样式设置的问题:这里把appTheme设置一个style即可: @color/white