关于android中调用系统拍照,返回图片是旋转90度..
2015-12-04 10:13
645 查看
文章转自http://my.oschina.net/techstan/blog/142592
由于项目的需要,没有自定义拍照功能,仅仅调用了系统的拍照程序..但是出现了一个问题,就是拍照完成显示图片居然是被旋转的图片....
解决办法:
/**
* 读取图片属性:旋转的角度
* @param path 图片绝对路径
* @return degree旋转的角度
*/
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
* @return Bitmap
*/
public static Bitmap rotaingImageView(int angle , Bitmap bitmap) {
//旋转图片 动作
Matrix matrix = new Matrix();;
matrix.postRotate(angle);
System.out.println("angle2=" + angle);
// 创建新的图片
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,
bitmap.getWidth(), bitmap.getHeight(), matrix, true);
return resizedBitmap;
}
OK完成,需要拍照和选择图片功能的部分请看http://104zz.iteye.com/blog/1687662
由于项目的需要,没有自定义拍照功能,仅仅调用了系统的拍照程序..但是出现了一个问题,就是拍照完成显示图片居然是被旋转的图片....
解决办法:
/**
* 读取图片属性:旋转的角度
* @param path 图片绝对路径
* @return degree旋转的角度
*/
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
* @return Bitmap
*/
public static Bitmap rotaingImageView(int angle , Bitmap bitmap) {
//旋转图片 动作
Matrix matrix = new Matrix();;
matrix.postRotate(angle);
System.out.println("angle2=" + angle);
// 创建新的图片
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,
bitmap.getWidth(), bitmap.getHeight(), matrix, true);
return resizedBitmap;
}
OK完成,需要拍照和选择图片功能的部分请看http://104zz.iteye.com/blog/1687662
相关文章推荐
- PHP实现图片旋转效果实例代码
- 特漂亮的JS图片排列旋转效果代码
- 使图片旋转的3种解决方案
- javascript结合canvas实现图片旋转效果
- 纯JS实现旋转图片3D展示效果
- Android实现图片反转、翻转、旋转、放大和缩小
- android有的手机拍照后上传图片被旋转的问题
- 关于android中调用系统拍照,返回图片是旋转90度...
- UIImageView绕着一个点旋转
- 【Android 应用开发】AndroidUI设计 之 图片浏览器
- 图片旋转、无限滚动、文字跳动
- iPhone上关于相机拍照的图片的imageOrientation的问题
- android 图片Bitmap的旋转
- 利用exif.js解决ios手机上传竖拍照片旋转90度问题
- 【图像处理】基于OpenCV底层实现的图片旋转
- iOS小效果(1)按钮控制图片的旋转的方向
- [C# 开发技巧系列]C#如何实现图片查看器 推荐
- 关于android中调用系统拍照,返回图片是旋转90度..
- 自定义菜单,仿优酷菜单 推荐
- Opencv3图片旋转(仿射变换)