`
zhuxinzx
  • 浏览: 293668 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android照相机模块编程 照片颠倒问题及查询摄像头参数问题的解决

阅读更多

这两天编程弄Android照相机模块,设置好各种参数后,发现预览的时候,照片是颠倒了,不是上下颠倒而是颠倒90°。 我的手机是华为U9200,用的Android4.0.3,后来看到http://www.cnblogs.com/skyseraph/archive /2012/03/26/2418665.html这篇文章,增加代码:myCamera.setDisplayOrientation(90); 然后预览就正常了。但是拍摄的照片在电脑上打开一看,仍然是倾斜的。倾斜了90°,后来加上这句:myParameters.set("rotation", 90); 这个是让照片旋转90°一切正常了! 之前设了很多//myParameters.set("orientation", "portrait");或 //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);发现都没有作用。就差上面那两句话! 

      如何查看自己的摄像头支持的PreviewSize和 PictureSize呢?这里简单说下,PreviewSize是预览的大小,也就是拍照前看到的图片大小,你可以试一下,这个参数设置不同,在同样焦距下,你拍摄桌子上一个固定距离的一个东西,看到的视野会不同。PictureSize是指最终拍摄到的图片的大小,也就是图片的质量。怎么查看呢?

   首先在主程序的开始private static final String TAG = "MyAndroid";

然后:List<Size> pictureSizes ;
       List<Size> previewSizes;

        for (int i = 0; i < pictureSizes.size(); i++)
{  
psize = pictureSizes.get(i);
Log.i(TAG +"initCamera", "PictrueSize,width: " + psize.width + " height" + psize.height);
}
for (int i = 0; i < previewSizes.size(); i++)
{  
psize = previewSizes.get(i);
Log.i(TAG +"initCamera", "previewSize,width: " + psize.width + " height" + psize.height);
}

就可以查看了!

  我的PictureSize的参数分别是:

  

预览的参数是:


但我想得到最终是宽度为600,高度为800的图片。怎么半呢?  这里要说明下,由于前面的myParameters.set("rotation", 90); 你如果设置照相机PictureSize的参数是M*N,得到的图片大小是N*M,因为你旋转了。怎么才能得到我想要的指定大小的图片呢,

FileOutputStream fout = new FileOutputStream(fTest);
BufferedOutputStream bos = new BufferedOutputStream(fout);
Bitmap mBitmap = Bitmap.createScaledBitmap(bm, 600, 800, true);
mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);

//bm.compress(Bitmap.CompressFormat.JPEG, 100, bos);

加上红色部分的代码就可以了。bm是最初的照片数据,是个Bitmap。 如果您想得到原始大小,就把红色去掉,把最后一句加上来就可以了。

分享到:
评论

相关推荐

    delphi xe6 android 调用照相机摄像头拍照片

    在使用Delphi XE6开发Android应用程序时,调用照相机功能是常见的需求,这使得用户可以直接通过应用拍摄照片。本教程将详细讲解如何在Delphi XE6中实现这一功能,无需额外的组件,只需利用系统自带的功能,确保代码...

    delphi xe5 android 调用照相机摄像头拍照片camera

    在使用Delphi XE5开发Android应用程序时,调用照相机功能是常见的需求,以便让用户拍摄照片并集成到应用中。本示例着重讲解如何在Delphi XE5环境下,利用Android API来实现这一功能,无需额外的组件,只通过原生代码...

    delphi10.2android调用摄像头

    在使用Delphi 10.2进行Android应用开发时,调用和控制摄像头是一项常见的功能需求。本示例将深入探讨如何实现这一功能,并提供一些关键知识点和注意事项。 首先,要调用Android设备的摄像头,我们需要使用Android ...

    Qt for Android 调用原生系统摄像头进行录像并保存输出

    在Android平台上开发应用程序时,Qt框架提供了一个强大的跨平台解决方案,允许开发者使用相同的代码库在多个操作系统上运行。本文将详细介绍如何使用Qt for Android调用原生系统的摄像头进行录像,并保存录制的视频...

    Android自定义相机,切换前后摄像头,照相机拍照

    本文将深入探讨如何在Android应用中实现自定义相机,并特别关注切换前后摄像头以及进行拍照的功能。 首先,我们需要创建一个CameraActivity,它是自定义相机的核心。在这个活动中,我们需要设置布局,通常会包含一...

    android照相机应用源码

    在Android平台上,开发一款照相机应用是相当常见的需求,它涉及到多媒体处理、用户界面设计以及硬件接口调用等多个方面。本资源"android照相机应用源码"提供了一个可以直接运行的Android相机应用示例,这对于初学者...

    Android Zxing包 调用摄像头扫描

    在Android开发中,Zxing(又称为ZXing,意为“快速可扩展的二进制解码器”)是一个开源的、多平台的库,用于读取和编写多种一维和二维条码。这个库提供了丰富的条码扫描功能,使得开发者能够轻松地在应用程序中集成...

    Android自定义照相机 预览拍照 切换前后置摄像头

    本文将深入探讨如何在Android中实现自定义相机,包括预览、拍照以及切换前后置摄像头的功能。 一、Android Camera API基础 Android提供了两个主要的相机API:Camera API1(在API level 9引入)和Camera2 API(在...

    delphi xe5 android 调用照相机获取拍的照片

    Delphi XE5 Android 调用照相机获取拍的照片 Delphi XE5 是一款功能强大且流行的开发环境,它提供了许多优秀的功能,包括对 Android 平台的支持。在 Android 平台上,Delphi XE5 提供了许多有用的组件和 API,允许...

    Android webview调用摄像头扫描二维码

    本文将详细讲解如何在Android Webview中调用摄像头进行二维码扫描,并结合ZXing(Zebra Crossing)解析包进行二维码的解析。 首先,让我们了解Android Webview的基本用法。Webview是Android SDK提供的一种视图组件...

    Android自定义照相机实现.docx编程资料

    本文档将详细讲解如何通过自定义方式在Android应用程序中集成照相机功能,包括拍摄照片、保存到SD卡以及利用`Bundle`在不同活动(Activity)间传递数据等核心功能。 #### 二、技术栈与环境准备 - **Android SDK**: ...

    android studio调用摄像头拍摄获取条形码返回结果

    在Android Studio中调用摄像头拍摄并获取条形码返回结果是一项常见的功能,它涉及到Android的相机权限、Intent机制以及第三方库的使用。本篇将详细讲解如何实现这一过程。 首先,确保你的AndroidManifest.xml文件中...

    Android4.0.3照相机源码

    在Android 4.0.3(Ice Cream Sandwich)版本中,照相机功能是系统的核心组件之一,对于开发者来说,理解其源码可以帮助我们深入学习Android系统以及如何构建高性能、功能丰富的相机应用。以下是对Android 4.0.3照相机...

    基于STM32F103单片机(寄存器版)+OV7725摄像头模块照相机实验实验例程源码.zip

    基于STM32F103单片机(寄存器版)+OV7725摄像头模块照相机实验实验例程源码: 本实验开机的时候先检测字库,然后检测SD卡根目录是否存在PHOTO文件夹,如果不存在则创建,如果创建失败,则报错(提示拍照功能不可用)...

    android照相机及照片保存简单例子(运行正常)

    本教程将详细解释如何在Android中实现简单的照相机功能,并介绍照片保存的相关知识。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限。在描述中提到,忘记添加权限可能会导致程序无法正常运行。以下是...

    android照相机源码camera

    在Android系统中,照相机功能是用户日常使用的重要部分,对于开发者来说,理解其源码有助于定制和优化相机应用。Android 4.0(Ice Cream Sandwich,简称ICS)的相机源码提供了丰富的学习材料,揭示了相机服务如何与...

    android 照相机源码 Camera源码

    在Android系统中,照相机功能是用户日常使用的重要部分,深入了解Android照相机的源码有助于开发者优化拍照体验、实现自定义功能或者解决相关问题。本文将深入探讨Android照相机源码,涵盖其核心组件、工作流程以及...

    android 照相机 demo

    android 照相机 demo android 照相机 demo android 照相机 demo android 照相机 demo android 照相机 demo android 照相机 demo

    Android 获取摄像头

    Android 获取摄像头 Android 获取摄像头是 Android 应用开发中一个非常重要的方面,对于要开发相机、录影以及视频通话的应用来说,获取摄像头是非常必要的。本文档将讲解怎样获取 Android摄像头,并对 Android ...

    Android部分手机拍照后获取的图片被旋转问题的解决方法

    调用Android系统拍照功能后,三星手机拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的。其它品牌的手机都是正常的,就三星出现这个怪事。 在Android适配上,我原来一直以为国内的小米手机够奇葩...

Global site tag (gtag.js) - Google Analytics