digital zoom

android HC 中 digital zoom 工作原理:

1. 声明 zoom变量

280 //zoom
     281 p.set(CameraParameters::KEY_ZOOM_SUPPORTED, "true");
     282 p.set(CameraParameters::KEY_MAX_ZOOM, "60");   //zoom值可以在0-60之间
     283 p.set(CameraParameters::KEY_ZOOM_RATIOS, "100,125,150,175,200,225,250,275,300,325,350,375,400,425,450,475,500,525,"
     284 "550,575,600,625,650,675,700,725,750,775,800,825,850,875,900,925,950,975,1000,1025,1050,1075,1100,"
     285 "1125,1150,1175,1200,1225,1250,1275,1300,1325,1350,1375,1400,1425,1450,1475,1500,1525,1550,1575,1600");
     286 p.set(CameraParameters::KEY_ZOOM, 0);
2. 读取camera app中传递过来的zoom值:
3456 status_t CameraHardware::setParameters(const CameraParameters& params)
    3457 {

    ...
    3600 //Zoom is a invalid value or not
    3601 int zoom = p.getInt(CameraParameters::KEY_ZOOM);
    3602 LOGD("xiaohai : ------------ zoom = %d", zoom);
    3603
    3604 if(zoom > MAX_ZOOM_LEVEL || zoom < MIN_ZOOM_LEVEL)
    3605 return BAD_VALUE;
    3606
    ...
    3612
    3613 // zoom is not supported in video mode for soc sensor.
    3614 if (vfmode != 2 && mSensorType == SENSOR_TYPE_SOC)
    3615 p.set(CameraParameters::KEY_ZOOM_SUPPORTED, "false");
    3616 else
    3617 p.set(CameraParameters::KEY_ZOOM_SUPPORTED, "true");
3. 获取zoom值,并设置zoom值到底层驱动中去。
3646 int CameraHardware::setISPParameters(
3647 const CameraParameters &new_params,
3648 const CameraParameters &old_params)
3649 {
3650 const char *new_value, *set_value;
3651 int ret,ret2;
3652 static int effect = old_params.getInt(CameraParameters::KEY_EFFECT);
3653
3654 ret = ret2 = -1;
3655
3656 //process zoom
3657 int zoom = new_params.getInt(CameraParameters::KEY_ZOOM);
3658 mCamera->set_zoom_val(zoom);
...
}
4. 添加camera_mode 涉及的文件:
frameworks/base/libs/camera/CameraParameters.cpp
frameworks/base/core/java/android/hardware/Camera.java
packages/apps/Camera/src/com/android/camera/VideoCamera.java
packages/apps/Camera/src/com/android/camera/Camera.java







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值