Android之简单的拍照功能
2017-02-25 15:31
357 查看
canara
activity_camera
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="zking.com.g150825_android_playvideo.camera">
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/camerap"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拍照"
android:id="@+id/takephoto"
/>
</RelativeLayout>
最后不要忘记添加相机的权限:
<uses-permission android:name="android.permission.CAMERA" />
package zking.com.g150825_android_playvideo; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.PixelFormat; import android.hardware.Camera; import android.os.Bundle; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.widget.Button; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class camera extends Activity { private Button take; private SurfaceView ca; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera); take = (Button) findViewById(R.id.takephoto); ca = (SurfaceView) findViewById(R.id.camerap); ca.getHolder().addCallback(new SurfaceHolder.Callback() { private Camera camera; @Override public void surfaceCreated(SurfaceHolder surfaceHolder) { camera = Camera.open(); Camera.Parameters parameters=camera.getParameters(); parameters.setPreviewFormat(PixelFormat.JPEG); parameters.set("jpeg-quality",85); camera.setParameters(parameters); try { camera.setPreviewDisplay(ca.getHolder()); camera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } @Override public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) { } @Override public void surfaceDestroyed(SurfaceHolder surfaceHolder) { } }); take.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //将字节数组转成图片 //实例化输出流对象,将bytes写入即可 //压缩 //将字节数组转成图片 Bitmap bitmap=BitmapFactory.decodeByteArray(bytes,0,bytes.length); try { FileOutputStream fos=new FileOutputStream("/mnt/sdcard/Movies/mv"+System.currentTimeMillis()+".png"); bitmap.compress(Bitmap.CompressFormat.PNG,85,fos); camera.stopPreview(); camera.startPreview(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }); } }
activity_camera
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="zking.com.g150825_android_playvideo.camera">
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/camerap"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拍照"
android:id="@+id/takephoto"
/>
</RelativeLayout>
最后不要忘记添加相机的权限:
<uses-permission android:name="android.permission.CAMERA" />
相关文章推荐
- Android学习之简单的拍照功能
- Android学习之简单的拍照功能
- android实现简单拍照功能
- Android调用系统相机拍照,并且模仿实现水印相机简单功能
- 【Android开发小记--14】简单拍照功能的实现
- Android学习之简单的拍照功能
- Android调用系统相机拍照,并且模仿实现水印相机简单功能
- Android调用系统相机拍照,并且模仿实现水印相机简单功能
- android 里面对图片的不同压缩处理 以及简单拍照功能实现加设置闪光灯效果
- Android调用系统相机拍照,并且模仿实现水印相机简单功能
- Android开发--WebView简单录音功能的实现
- Android实现简单的计算器功能
- Android开发之拍照功能实现(附源码)
- android实现简单画图功能
- Android Accessibility 辅助功能简单介绍
- Android实现后台服务拍照功能
- Android中实现一个简单的分享功能
- android小功能实现之简单数据持久化保存(SharedPreferences)
- 拍照-----------android系统 至关重要的功能
- 第58章、拍照功能实现(从零开始学Android)