linux怎么设置桌面朝向,Android判断相机图片朝向
Android应用里使用相机图片时必须要考虑的一个问题就是图片朝向,只有判断对朝向才能调整图片从而更好的展现。本文将介绍一种通过ExifInterface判断图片朝向的方法!
代码如下:
/**
*
* 利用给定路径下的图片设置ImageView
*
* @param imgPath 手机图片文件路径
* @param imgView 需要设置的ImageView
*/
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) {
}
}
}
linux怎么设置桌面朝向,Android判断相机图片朝向相关推荐
- 《Android开发卷——设置圆形头像,Android截取圆形图片》
在有一些程序开发中,有时候会用到圆形,截取一张图片的一部分圆形,作为头像或者其他. 本实例就是截图圆形,设置头像的. 首先讲解一些代码 <ImageView android:id=&q ...
- linux 浏览器源码下载,Android开发:图片浏览器源码
Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...
- android 4.2 判断桌面快捷,Android 判断桌面是否快捷方式,不存在则创建
要创建快捷键首先要在AndroidManifest中添加权限 /** * 快捷方式是否存在 * * @return */ public static boolean ifAddShortCut(Con ...
- 计算机桌面图片怎么设置大小,怎么设置桌面壁纸大小
很多人都知道怎麽设置电脑桌面,可真正找到适合自己屏幕的可能很少,图片或大或小,小编为大家分享了设置桌面壁纸大小的方法,下面大家跟着小编一起来了解一下吧. 设置桌面壁纸大小方法 先查看自己电脑屏幕分辨率 ...
- Linux如何让一个.sh文件可双击执行 并设置桌面启动图标
Linux如何让一个.sh文件可双击执行并设置桌面启动图标 linux下怎么设置一个.sh文件可执行 参考资料: https://blog.csdn.net/ahelloyou/article/det ...
- linux fedora kde桌面设置全局显示字体大小
linux fedora kde桌面设置全局显示字体大小
- linux 轻量化图形界面,Linux轻量化桌面环境LXDE之时钟设置技巧
台湾产,Ubuntu承认,Linux轻量化桌面环境之一LXDE,使用说明之数字时钟:由于装好系统后默认显示的数字时钟过于简单且单调,我打开时钟设置,对其进行了极其无聊地探索,兴许对后人有帮助. 对设置 ...
- linux打开xmanager服务,用xmanager连接linux远程桌面-linux服务器设置及xmanager设置
用xmanager连接linux远程桌面 linux服务器端设置: ========================================1. 修改/etc/inittab,改变runlev ...
- android 背景图片自适应屏幕大小,android 设置桌面背景图片适应屏幕大小
今天做demo,设置桌面每天自动更新背景,但是桌面的背景都是被系统裁剪过的图片,上网百度了一下,有个过时的方法,改进后果然有用了! Bitmap bmp=BitmapFactory.decodeRes ...
最新文章
- 《Maven 实战》笔记之setting.xml介绍
- 用于RGB-D语义分割的全局-局部传播网络
- JavaScript--事件模型
- C# 学习笔记(9)线程
- java 中的chartdata_获取Helm Charts中的文件夹列表
- java请假审批怎么实现_java实现请假时间判断
- permutation 2(HDU-6630)
- 54 FI配置-财务会计-固定资产-主数据-更改评估组的关键词
- linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程
- POJ 2960 博弈论
- 【编程科普】服务器的软件和硬件
- 磁盘不见了只剩一个c盘_电脑硬盘分区突然见了就剩个C盘到磁盘管理看也只有C盘...
- 英雄联盟LOL静态HTML网页制作模板DⅣ+CSS学生网页作品代码游戏题材大学生网页设计作业下载
- java是面向对象还是面向过程_Java面向对象编程和面向过程编程的区别
- 电路逻辑门图形符号汇总
- opensim源码安装教程
- java数字转大写_java实现数字转大写的方法
- 16/10/2019 一步步学会分析ATAC-seq
- 版本 3.1(最终版)
- ubuntu安装和卸载软件命令
热门文章
- plot.figue中设置图片的大小
- apk在模拟器中能运行而手机中运行不了
- 揭开NVR迷雾:NVR不是DVR的替代者
- 决定女人一生的七种智慧
- 共享雨伞,雨你同行——“伞之缘”共享雨伞上线酒楼、健身房、网吧……(二)
- Cocos2d-x 3.2 大富翁游戏项目开发-第三十部分 项目移植
- 用ajax修改成功怎么返回页面,jquery操作ajax返回的页面元素
- 记录:tensoflow改错TypeError: Cannot interpret feed_dict key as Tensor: Can not convert a float into a Te
- 超详细的A-level课程介绍
- 71页智慧工地整体解决方案