Android Camera 实例
来源:互联网 发布:小米平板2windows 编辑:程序博客网 时间:2024/06/03 06:17
Android Camera 实例
2010-07-04 12:24
注:使用摄像头等媒体设备时必须连上存储卡<uses-permission android:name="android.permission.CAMERA" />CamMain.java:public class CamMain extends Activity implements SurfaceHolder.Callback {//在SurfaceView上绘制应该实现SurfaceHolder.Callback接口private SurfaceHolder holder=null;private SurfaceView surface=null;private Button bt=null;private Camera cam=null;private ShutterCallback sc=new ShutterCallback(){ @Override public void onShutter() { // 按下快门后的回调函数 }}; private PictureCallback pc=new PictureCallback(){ @Override public void onPictureTaken(byte[] arg0, Camera arg1) { // 源数据 }}; private PictureCallback jpgcall=new PictureCallback(){ @Override public void onPictureTaken(byte[] b, Camera c) { // TODO Auto-generated method stub try{ Bitmap bmp=BitmapFactory.decodeByteArray(b, 0, b.length); File f=new File("/mnt/sdcard/photo.jpg"); BufferedOutputStream bos=new BufferedOutputStream( new FileOutputStream(f)); bmp.compress(Bitmap.CompressFormat.JPEG, 80, bos); bos.flush(); bos.close(); }catch(Exception e){ } }};/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bt=(Button)findViewById(R.id.bt); bt.setOnClickListener(new OnClickListener(){@Override public void onClick(View v) { // TODO Auto-generated method stub if(cam!=null){ cam.takePicture(sc, pc, jpgcall); cam.stopPreview(); } }});surface=(SurfaceView)findViewById(R.id.sv); holder=surface.getHolder();//设置Holder holder.addCallback(this); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); }@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub try{ Parameters p=cam.getParameters(); p.setPictureSize(width, height); cam.setParameters(p); cam.setPreviewDisplay(holder); cam.startPreview(); }catch(Exception e){ }}@Overridepublic void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub cam=Camera.open();}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub }}main.xml:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" ><SurfaceView android:id="@+id/sv" android:layout_width="fill_parent" android:layout_height="fill_parent" /><Buttonandroid:id="@+id/bt"android:text="DONE"android:layout_alignParentTop="true"android:layout_alignParentRight="true"android:layout_width="wrap_content"android:layout_height="wrap_content"/></RelativeLayout>
- Android Camera 实例
- android camera实例
- Android-Camera(照相机)实例
- Android之Camera的简单实例
- Android自定义Camera最佳入门实例
- com.android.camera.Camera
- android 4.0 USB Camera实例(二)应用层
- android 4.0 USB Camera实例(二)应用层
- android 4.0 USB Camera实例(二)应用层
- android设备功能之camera教程实例汇总
- Android camera
- Android Camera
- android camera
- android camera
- Android Camera
- Android Camera
- Android Camera
- Android:Camera
- STL的set容器如何存放结构体?根据什么排序?
- 学习感悟
- (转载)如何提高Java代码可重用性
- Opencv——立体视觉
- 3D数学 ---- 矩阵的更多知识(1)
- Android Camera 实例
- 路由器 vs 交换机
- 3D数学 ---- 矩阵的更多知识(2)
- 3D数学 ---- 矩阵的更多知识(3)
- ASM初探-1
- 判断Shell程序输入参数的个数
- 在Extjs4应用中使用Ext.Loader
- 3D数学 ---- 矩阵的更多知识(4)
- dede后台登陆提示 验证码不正确 解决办法