展会信息港展会大全

Android开发学习之以Camera方式实现相机功能(二)——相机功能配置
来源:互联网   发布日期:2015-09-29 10:11:35   浏览:2453次  

导读: 接着我们在上一篇文章中实现的简单项目,现在我们继续为这个相机添加功能。首先,在Camera中,我们可以对相机进行简单的控制,而当我们需要进行更多的功能上的配置上的时候,我们需要...

接着我们在上一篇文章中实现的简单项目,现在我们继续为这个相机添加功能。首先,在Camera中,我们可以对相机进行简单的控制,而当我们需要进行更多的功能上的配置上的时候,我们需要使用Camera下面的Parameters类。Parameters类中封装了我们需要的大部分功能,下面我们来一一讲解:

1、setPictureFormat()方法用于设置相机照片的格式,其参数是一个字符型参数,位于PixelFormat类中,我们在这里选择PixelFormat.JPEG。

2、setSceneMode()方法用于设置相机场景类型,其参是是一个字符型参数,位于Parameters类中,以SCENE_MODE_开头。

3、setZoom()方法用于设置相机焦距,其参数是一个整型的参数,该参数的范围是0到Camera.getParameters().getMaxZoom()。

4、setPictureSize()方法用于设置相机照片的大小,参数为整型。

5、setWhiteBalance(),方法用于设置相机照片白平衡,其参数是一个字符型参数,位于Parameters类中,以WHITE_BALANCE开头。

6、setJpegQuality()方法用于设置相机照片的质量,其参数是一个整型参数,取值范围为1到100。

7、setFlashMode()方法用于设置闪光灯的类型,其参数是一个字符型参数,位于Parameters类中,以FLASH_MODE_开头。

8、setColorEffect()方法用于设置照片颜色特效的类型,其参数是一个字符型参数,位于Parameters类中,以EFFECT_开头。

好了,在这里我们只研究这个基本的方法,其它的方法大家可以自行了解,下面我们以setZoom()方法为例,来讲解相机的配置问题。为了将缩放的功能加入到我们的程序中,我们在这里修改一下程序的布局代码:

<frameLayout

android:id="@+id/PreviewView"

android:layout_width="match_parent"

android:layout_height="match_parent">

</frameLayout>

对应地,我们修改我们的逻辑代码,添加下面的代码:

/** 焦距调节 **/

mZoomBar=(SeekBar)findViewById(R.id.ZoomBar);

/** 设置焦距调节的最大值**/

mZoomBar.setMax(mCamera.getParameters().getMaxZoom());

mZoomBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()

{

@Override

public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2)

{

setZoom(mZoomBar.getProgress());

}

@Override

public void onStartTrackingTouch(SeekBar arg0)

{

}

@Override

public void onStopTrackingTouch(SeekBar arg0)

{

}

});其中,setZoom()方法是这样定义的:

/** 设置相机焦距**/

private void setZoom(int mValue)

{

Camera.Parameters mParams=mCamera.getParameters();

mParams.setZoom(mValue);

mCamera.setParameters(mParams);

}最后一起来看运行效果吧

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港