本文实例讲述了Android编程实现摄像头临摹效果的方法。分享给大家供大家参考,具体如下:

这篇文章结合本人的开发实例,介绍如何实现摄像头临摹效果,即将摄像头拍摄的画面作为临摹的物体投射到画纸上,用户可以在画纸上继续作画,效果如图1.

主要可以分成四步,第一步在AndroidManifest.xml文件里添加对摄像机的使用许可。

第二步在布局文件里使用framelayout,这样可以实现两个view叠在一起的效果,要保证两个view的大小和位置相同。

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:id="@+id/SurfaceView"

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

android:id="@+id/PaintView"

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

其中的surfaceview用来动态显示摄像机当前拍摄的画面,第三步需要打开摄像机并进行相关配置,然后开启预览。

mSurfaceView = (SurfaceView)this.findViewById(R.id.sfView);

mSurfaceHolder = mSurfaceView.getHolder();

mSurfaceHolder.addCallback(SimplePaintActivity.this);

mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

mCamera = Camera.open();

Camera.Parameters parameters = mCamera.getParameters();

parameters.setPictureFormat(PixelFormat.JPEG);

parameters.setPreviewSize(dm.widthPixels, dm.heightPixels);

parameters.setPictureSize(dm.widthPixels, dm.heightPixels);

mCamera.setParameters(parameters);

try {

mCamera.setPreviewDisplay(mSurfaceHolder);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

mCamera.startPreview();

第四步需要改变com.example.artist.PaintView的背景透明度,PaintView是本人自己实现的一个view,在onTouchEvent函数和onDraw函数里分别进行了触摸响应和绘画功能,是用来响应用户画画的view,设置背景半透明的语句如下。

mBkColor = Color.argb(100, 255, 255, 255);

canvas.drawColor(mBkColor);

这样,摄像头临摹效果就实现了,大功告成!

希望本文所述对大家Android程序设计有所帮助。

android临摹汉字,Android编程实现摄像头临摹效果的方法相关推荐

  1. android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法

    本文实例讲述了Android基于ViewPager+Fragment实现左右滑屏效果的方法.分享给大家供大家参考,具体如下: 1.xml布局模板 android:id="@+id/local ...

  2. android maxlength 汉字,Android TextView maxWidth、maxLines、maxLength、maxEms

    TextView maxWidth.maxLines.maxLength.maxEms 的区别面纱就此揭开!掌握它们的区别对实际开发蛮有用处.若您有遇到其它相关问题,很是欢迎在评论中留言,我和其余读者 ...

  3. Android/Java汉字转拼音类及按A-Z排序方法

    在Android / java 开发中有时需要对数据进行根据拼音[A-Z]的规则进行排序所以需要先将汉字转为拼音然后再进行排序 //汉字转拼音类 package xyz.sort; import ja ...

  4. android程序设计拍照,Android编程实现拍照功能的2种方法分析

    本文实例讲述了Android编程实现拍照功能的2种方法.分享给大家供大家参考,具体如下: Android系统的照相功能,已实现2种方法,可供大家参考: 1. 调用系统摄像头来拍照 首先,找到Andro ...

  5. android开发高级开发,Android多媒体开发高级编程 (Shawn Van Every) pdf扫描版

    <android多媒体开发高级编程--为智能手机和平板电脑开发图形.音乐.视频和富媒体应用>使用清晰.直观的示例介绍了android sdk中丰富的多媒体功能,有助于您开发能够创建.播放和 ...

  6. android编程高级教程 pdf,Android多媒体开发高级编程

    在多媒体功能方面,今天的手机同时是照相机.相册.摄像机.电影播放器.音乐播放器.听写机,且可能具备更多功能. 特别是,Android在SDK中具有非常丰富的功能,本书将试图通过讨论和实例对该SDK进行 ...

  7. 【Android RTMP】Android Camera 视频数据采集预览 ( 视频采集相关概念 | 摄像头预览参数设置 | 摄像头预览数据回调接口 )

    文章目录 安卓直播推流专栏博客总结 一. Android 端数据采集涉及到的相关概念 二. Camera 预览图像尺寸设置 三. 获取摄像头采集的数据格式 安卓直播推流专栏博客总结 Android R ...

  8. 细说Android 4.0 NDK编程pdf

    下载地址:网盘下载 <细说Android 4.0 NDK编程>内容简介:通过NDK,应用程序可以非常方便地实现Java与C∕C++代码的相互沟通.<细说Android 4.0 NDK ...

  9. android 图片变量,Android开发实现ImageView加载摄像头拍摄的大图功能

    本文实例讲述了Android开发实现ImageView加载摄像头拍摄的大图功能.分享给大家供大家参考,具体如下: 这个方法是从官方demo中摘录的,在此记录学习. 权限 android:name=&q ...

最新文章

  1. 【Vue】component学习笔记
  2. php的辅助工具下载,PHPTools 工具包(让你的EditPlus可以调试PHP)
  3. bzoj2333 [SCOI2011]棘手的操作(洛谷3273)
  4. Caffe+UbuntuKylin14.04_X64+CUDA 6.5配置
  5. 伯克利计算机科学录取率,Berkeley的CS「加州大学伯克利分校计算机科学系」
  6. apache+php windows下配置
  7. ASP.NET开发,简化与封装
  8. [2020-AAAI] Revisiting Image Aesthetic Assessment via Self-Supervised Feature Learning 论文简析
  9. 怎么调整矩形边框宽度_PKPM:梁刚度放大通过放大系数与矩形梁转T形梁的区别...
  10. java请求url拼接xml_java访问一个URL,会返回给你一个XML格式的数据,该怎么实现?...
  11. Android 5.1-7.1 高通驱动修改 - 上篇
  12. java工商银行项目_工商银行聚合支付,java开发实现
  13. Mac --显示隐藏文件
  14. 【第五章】零基础学Python实战练习(明日科技书配套)
  15. SIFT特征点提取及描述论文算法详解
  16. 基于Docker的Hadoop完全分布式安装
  17. 联发科智能音箱系统单芯片解决方案---MT8516芯片资料介绍
  18. Vanilla是什么
  19. 如何更改计算机管理员用户名和密码,Win10系统下如何修改administrator管理员账户密码...
  20. 电子芯吧客首届PCB书签设计大赛

热门文章

  1. 抽象语法树 c语言,AST抽象语法树
  2. 高通QMI IDL格式介绍,方便增加QMI message
  3. python获取某博热搜数据并保存成Excel
  4. 亲身试验:python不是内部或外部命令,也不是可运行的程序或批处理文件
  5. matlab文件路径操作 mfilename
  6. 【Python爬虫系列教程 18-100】Python网络爬虫实战:小姐姐手把手教你爬取并下载英雄联盟所有英雄皮肤高清大图
  7. 改变体质,预防癌症第一步 (分享大家学习)
  8. opencv imshow函数报cv::exception错误,以及sift算法的使用问题
  9. 如何提升你的分析技能,实现升职加薪?
  10. spring初识--bean的几种注册方式