android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
来源:互联网 发布:windows一键还原密码 编辑:程序博客网 时间:2024/05/16 07:48
转自: http://www.cnblogs.com/andgoo/archive/2012/08/29/2661896.html
第一步: AndroidManifest.xml 在Activity添加以下一个属性
<span>android:configChanges=
"orientation|keyboardHidden|screenSize"
android:screenOrientation=
"sensor"
,为的是能够横竖屏切换不用再次调用onCreate方法,直接调用onConfigurationChanged方法。screenSize是兼容
4.0
系统的才可以生效,否则方法没效。</span>
<application android:label=
"@string/app_name"
android:icon=
"@drawable/ic_launcher"
>
<activity android:name=
".MainActivity"
android:label=
"@string/app_name"
<span style=
"color: #ff0000;"
>android:configChanges=
"orientation|keyboardHidden|screenSize"
android:screenOrientation=
"sensor"
</span>>
<intent-filter>
<action android:name=
"android.intent.action.MAIN"
/>
<category android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
第二步,解决竖屏拍照后保存图片会旋转90度的问题。这里我会在onConfigurationChanged方法进行判断当前是横拍还是竖拍,然后在调用相机拍照后,在保存图片的方法里,进行竖拍的照片90度旋转。
PictureCallback jpeg =
new
PictureCallback() {
@Override
public
void
onPictureTaken(
byte
[] data, Camera camera) {
// TODO Auto-generated method stub
Bitmap bMap;
try
{
// 获得图片
bMap = BitmapFactory.decodeByteArray(data,
0
, data.length);
Bitmap bMapRotate;
if
(takeType !=
0
) {
//坚拍
Matrix matrix =
new
Matrix();
matrix.reset();
matrix.postRotate(
90
);
bMapRotate = Bitmap.createBitmap(bMap,
0
,
0
, bMap.getWidth(),
bMap.getHeight(), matrix,
true
);
bMap = bMapRotate;
}
// Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
File file =
new
File(filePath);
BufferedOutputStream bos =
new
BufferedOutputStream(
new
FileOutputStream(file));
bMap.compress(Bitmap.CompressFormat.JPEG,
100
, bos);
//将图片压缩到流中
bos.flush();
//输出
bos.close();
//关闭
}
catch
(Exception e)
{
e.printStackTrace();
}
}
};
关键代码是以上。
当用竖拍转横拍,还是横拍转竖拍,都要先在surfaceChanged方法,停止预览相机,重新设置下摄像头就不会再出现90度旋转。
- android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
- Android拍照后获得的图片旋转90度问题
- Android解决三星手机拍照图片调用时逆时针旋转90度问题
- android 拍照图片旋转问题
- android 拍照图片旋转问题
- Android:Camera的使用,并处理手机拍照后上传图片被旋转的问题
- android学习笔记----解决android有的手机拍照后上传图片被旋转的问题
- Android 解决部分手机拍照后获取的图片被旋转的问题
- 三星手机拍照,图片旋转问题的解决
- iOS解决拍照图片 会旋转 打开变形的问题
- 解决ionic在手机上拍照图片旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题 .
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 浏览器自动代理
- VC6.0 ATL方式的OCX去除安全警告框
- win检测当前网卡是否处于混杂模式
- 启动erlang 文件的 为 log4erl.app
- Eclipse更改默认工作目录的方法
- android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
- "android:process"---由日志引发的大灾难!
- Android字符串进阶之三:字体属性及测量(FontMetrics)
- java 插入排序法
- android ConnectivityManager
- Windows消息机制概述
- 七、概念与入门
- android.graphics包-核心渲染包(绘图)
- C# 跨窗体调用控件