Android 系统下camera的特效添加步骤

  最近公司要上中星微的平台,老大由于中星微的平板电脑的方案才刚刚开始,平台也是在启蒙阶段,在camera上面的支持还不是特别的完善,记得打开camera拍照的时候有选着只是 拍照的质量 但是我们的客户要就的不仅仅是这点东西就可以满足的,下面就谈谈我是如何参考三星的平台与camera的android系统的架构,添加拍照的 曝光 图片的存储格式 白平衡 色彩效果,要做这些东东 ,我想就有必要要好好的研究一下android的架构了,从应用 应用架构 HAL 和kernel的整个流程都要做到,才可以完成以上的效果,下面就让我慢慢道来。。。。。

下面是我添加的功能:

曝光 的菜单有5个级别

+2

+1

0

-1

-2

主要是增加拍照的亮度

照片大小:下拉菜单

VGA

QVGA

 p.set(CameraParameters::KEY_SUPPORTED_PICTURE_SIZES, "640x480,320x240");

分辨率是 640 x 320   320 x 240

色彩效果:下拉菜单

正常

灰阶

棕褐色

棕褐色绿

棕褐色蓝

彩色反转

灰色反转

浮雕

素描

白平衡:下拉菜单

自动

白吇光

日光

荧光

阴天

以上的功能实现主要修改的文件有一些,呵呵,android的系统架构还是要好好的了解一下,对于我们改写camera的流程有很大的帮助的:有兴趣的朋友好好的了解一下,修改菜单:
1、framework.jar(out\target\product\smdkv210\system\framework)
      frameworks\base\core\java\android\hardware\camera.java  该文件的路径 此处主要是修改的是android的应用层得代码

        public static final String EFFECT_NORMAL = "normal";
        public static final String EFFECT_GRAYSCALE = "grayscale";
        public static final String EFFECT_SEPIA = "sepia";
        public static final String EFFECT_SEPIA_GREEN = "sepia_green";
        public static final String EFFECT_SEPIA_BLUE = "sepia_blue";
        public static final String EFFECT_COLOR_INV = "color_inv";
        public static final String EFFECT_GRAY_INV = "gray_inv";
        public static final String EFFECT_EMBOSSMENT = "embossment";
        public static final String EFFECT_SKETCH = "sketc

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
使用 CameraX 调用系统相机需要使用以下步骤: 1. 在 build.gradle 文件中添加以下依赖项: ```groovy dependencies { def camerax_version = "1.0.0-beta06" implementation "androidx.camera:camera-camera2:$camerax_version" implementation "androidx.camera:camera-lifecycle:$camerax_version" implementation "androidx.camera:camera-view:1.0.0-alpha20" } ``` 2. 在布局文件中添加 CameraView: ```xml <androidx.camera.view.CameraView android:id="@+id/camera_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 3. 在 Activity 或 Fragment 中实例化 CameraX: ```kotlin class MainActivity : AppCompatActivity() { private lateinit var cameraView: CameraView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) cameraView = findViewById(R.id.camera_view) startCamera() } private fun startCamera() { val cameraProviderFuture = ProcessCameraProvider.getInstance(this) cameraProviderFuture.addListener({ val cameraProvider: ProcessCameraProvider = cameraProviderFuture.get() val preview = Preview.Builder().build().also { it.setSurfaceProvider(cameraView.surfaceProvider) } val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA try { cameraProvider.unbindAll() cameraProvider.bindToLifecycle(this, cameraSelector, preview) } catch (e: Exception) { Log.e(TAG, "Use case binding failed", e) } }, ContextCompat.getMainExecutor(this)) } companion object { private const val TAG = "MainActivity" } } ``` 这样就可以使用 CameraX 调用系统相机了。注意,在 AndroidManifest.xml 文件中要添加相机权限: ```xml <uses-permission android:name="android.permission.CAMERA" /> ``` 另外,CameraX 还提供了其他功能,比如拍照、录视频等,可以根据需要进行配置和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值