自制Camera例子——捕获和保存图片

原创 2016年05月30日 14:44:30


        //拍照
        //Camera.PictureCallback() 是一种最安全的回调方法,
        // 它确保会被调用,并且在压缩图像时被调用。
        camera.takePicture(null, null, null, new Camera.PictureCallback() {
            @Override
            public void onPictureTaken(byte[] data, Camera camera) {
                //1. data 为实际的JEPG图像数据的字节数组
                //2. camera 相机的引用



                //保存图片
                //1. 使用Uri保存图片
//                ContentValues contentValues = new ContentValues();
//                contentValues.put(MediaStore.Images.Media.DISPLAY_NAME,"Camera Demo Name");
//                contentValues.put(MediaStore.Images.Media.DESCRIPTION,"Camera Demo Decraption");
//                Uri imgFileUri = getContentResolver().insert(
//                          MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
//                          contentValues);
//                try {
//                    OutputStream imageFileOs = getContentResolver().openOutputStream(imgFileUri);
//                    imageFileOs.write(data);
//                    imageFileOs.flush();
//                    imageFileOs.close();
//                } catch (FileNotFoundException e) {
//                    e.printStackTrace();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }


                //2. 直接使用路径
                try {
                    FileOutputStream fos = new FileOutputStream(
                            Environment.getExternalStorageDirectory().getAbsolutePath()+"/temp.jpg");
                    fos.write(data);
                    fos.flush();
                    fos.close();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }


                /*
                 * 当调用Camera对象的上的takePicture方法是,预览已经自动暂停,
                 * 并且这个方法会告诉我们,现在可以安全地重新启动
                 */

                camera.startPreview();
            }
        });




下载









调用Camera.takePicture(null, null, pictureCallback);拍照并保存于sd卡

package com.ygy; import java.io.BufferedOutputStream; import java.io.File; import java.io.Fil...
  • cm
  • cm
  • 2016年12月11日 21:50
  • 1495

我的第一篇博客:关于android的Camera在takePicture()时不回调onPictureTaken()方法

在看书学习中,简单用到camera API去拍摄照片,但是在小米Note上运行时,卡在了拍摄界面,不动了,没有报错信息,可以知道是回调了Camera.ShutterCallback中的onShutte...

android studio for android learning (十五) Camera2界面定制与保存到外部存储

1.使用android 5.0的Camera V2来控制手机拍照,5.0以后对拍照的API进行了全新的设计,这些API不仅大幅度提高了android的拍照功能,还支持RAW照片输出,还可以程序调整相机...

自制Camera例子——更改摄像头预览大小

我们仍然通过Camera.Parameters去修改摄像头的属性。parameter.setPreviewSize(w,h) 去修改显示大小。注意:里面的w,h并不是随意书写的,也是要手机的相机支持才...

自制Camera例子——相机效果

MainActivity: public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback ...

cordova camera插件——摄像头插件的使用及上传图片

介绍 cordova提供照相机API与设备相机进行交互。 通过照相机API、我们可以拍摄或者访问照片库中的照片,返回图片的base64编码字符串或者图片的url文件路径。       安装插件 需要...

SurfaceView+Camera+OpenCv自定义相机保存图片

在Activity中实现CameraBridgeViewBase.CvCameraViewListener2接口并重写其方法,在 Mat onCameraFrame(CameraBridgeView...

v4l2 camera测试程序 保存成图片

使用的usb camera 是 0ac8:3420,使用网上找到的代码改 保存在图片, /* * main.c * * Created on: Apr 25, 2016 * Au...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自制Camera例子——捕获和保存图片
举报原因:
原因补充:

(最多只允许输入30个字)