最近项目里面又要加一个拍照搜题的功能,也就是用户对着不会做的题目拍一张照片,将照片的文字使用ocr识别出来,再调用题库搜索接口搜索出来展示给用户,类似于小猿搜题.学霸君等app. 其实Android提供Intent让我们打开系统的相机,但是系统相机跟自己app风格不搭,而且用起来体验不好.所以我使用了SDK提供的camera API自定义了一个相机,并且在相机界面上面添加了参考线,有助于用户将题目拍正,提高ocr的识别率. 1.绘制参考线的代码 public class ReferenceLin…
直接上完整代码:在Android Studio新建一个项目,然后依次创建: 1.预先在drawable文件夹中保存的图片资源 2.创建:CameraPreView.java类: 3.创建:OnClickUtil.java类管理所有相机界面的按钮点击事件 4.创建:SharedData.java类保存常量数据 5.创建:SelfCameraActivity,在activity_self_camera.xml文件中配置相机界面布局 6.实现SelfCameraActivity 7.配置activit…
实现思维路径: 以进入相机拍照的思维路线为例子: 1.进入app 2.判断之前是否保存头像,如果有就显示历史图像 (下面代码中在getOldAvatar();方法中执行这个逻辑) 3.点击更换图像的Button或者布局,启动对话框(下面代码中在dialogueBox();方法执行这个逻辑) 4.系统版本判断授权方式(静态还是动态授权),判断之前是否已经授权 (setPermissions(Permissions_CAMERA_KEY);这个方法执行授权逻辑) 5.如果是首次授权,就执行首次授权完…
之前用AVFoundation自定义相机做了拍照与视频相关的东西,为什么要自定义呢?主要是提供更个性化的交互设计,符合app主题,对于视频来说,也便于提供更多丰富有趣的功能.前段时间整理了下拍照部分的功能,主要分为以下五个部分 1.初始化,建立会话,获取摄像头 使用AVCaptureSessionPresetPhoto模式,输出的图片分辨率与系统相机输出的分辨率保持一致 添加后置摄像头与图片输出(默认采用后置摄像头拍摄) 2.嵌入实时预览层 获取实时预览画面,添加手势,初始化时默认在画面中心点对…
老规矩,先上一下项目地址:GitHub:https://github.com/xiangzhihong/CameraDemo 方式: 调用Camera API 自定义相机 调用系统相机 由于需求不同,所以选择的方案固然也不同,至于第二种调用系统相机,这里就不过多讲解了,使用Intent对象设置一个Action动作即可,跳转时使用startActivityForResult,然后在onActivityResult处理相关数据便可,关键代码: [java] view plain copy print…
Github源码:https://github.com/LinJZong/AndroidProject.git 模仿360相机,图片资源来源于360相机,仅供学习使用.使用过程中遇到问题或Bug可发我邮箱405376689@qq.com.对了,未做兼容性测试不保证所有机型和sdk版本可通用. 截图如下: 目前完成了拍照.保存.图片压缩.触摸聚焦.拍照成功附带动画效果.闪光灯切换.手势缩放等功能,功能持续更新中. 2月份补充:新增相册功能.包含缩略图预览.图片删除.长按进入删除模式.全选等. 2月…
调用系统相机拍照: private Button btnDyxj; private ImageView img1; private File tempFile; btnDyxj = (Button) findViewById(R.id.btnXj); img1 = (ImageView) findViewById(R.id.img1); private void camera() { // 判断存储卡是否可以用,可用进行存储 if (hasSdcard()) { File dir = new F…
使用CameraLibrary项目,在部分手机或平板上不能正常使用,要报“打开相机失败”查看debug日志显示“setParameters failed”. 找到CameraView.java中的setCameraParameters方法,注释掉 //自动聚焦模式 //parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);   parameters是Camera.Parameters类型的.   即可,看来是这部分不能正常使用摄像头…
调用系统图库: Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(intent, REQUEST_CODE_IMAGE); 获取图片路径 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {  …
前段时间写了如何获取相册和拍照之后的照片并且进行显示和上传,这一次是如何进行圆形图像制作,经常看我写的笔记的人会知道,我很懒.那么我就懒的自定义了,目前需求就用原生的就好了,大神的轮子,我会在后面进行推荐.这篇笔记是依赖于:Android调用相册.相机(兼容6.0.7.0.8.0)文章撰写的,所以不会基本操作的,请先去看看那个. 先上效果哈:系统自带的裁剪效果 ##一.布局设置由于是圆形头像,所以,我们引用一个举世闻名的项目哈:CircleImageView <?xml version="…