• YuvImage知识点总结


    一、 什么是YuvImage?

    YuvImage包含了YUV数据,并且提供了一个将YUV数据压缩成Jpeg数据的方法。

    二、  什么时候使用

    相机Camera类的PreviewCallback回调中,这个接口回调的是相机的预览图片,是YUV格式的数据,这是,利用YuvImage对象的compressToJpeg方法生成Jpeg格式的图片保存在本地。

    三、 包含属性

    //存储的字节数
    private final static int WORKING_COMPRESS_STORAGE = 4096;
    

      

    //YUV格式
    private int mFormat;
    

      

    // 原始的YUV数据
    // 注意:多个图像平面的情况下,需要连接成一个单个字节数组
    private byte[] mData;
    

      

    //跨距   stride指在内存中每行像素所占的空间  每个图像平面的行字节数(不太清楚)
    private int[] mStrides;
    

      

    //图像的宽度
    private int mWidth
    

      

    // 图像的高度
    private int mHeight
    

    四、  构造方法

    1) yuv : YUV数据,多个图像平面的情况下,需要连接成一个单个字节数组

    2) format:压缩格式,目前仅支持ImageFormat.NV21与ImageFormat.YUY2两个格式。

    3) width:YuvImage的宽度

    4) height:YuvImage的宽度

    5) strides:(可选)每个图像平面的行字节。 如果YUV数据包含Padding,必须为每一个图像给一定的幅度,如果strides属性为null,该方法假设没有padding,并且根据格式和宽度自身派生行字节。

    6) throws : 不合法的格式,宽高小于0,yue为空

    五、  压缩方法

    1) rectangle :要压缩的矩形区域

    2) quality :压缩范围,0-100,其中,0表示低质量的压缩,100表示高质量的压缩

    3) stream :压缩数据

    六、  注意:因为安卓的摄像Camera天生是横的,竖屏拍照或者摄像的时候,需要旋转YuvImage。

  • 相关阅读:
    解决javaScript在不同时区new Date()显示值不同问题
    页面返回上一页浏览位置
    如何disabled禁用所有表单input输入框元素
    js根据json数组多个字段排序
    No identifier specified for entity
    Android resource compilation failed
    android 系统dialog的应用
    android消息处理源码分析
    Linux下常用命令
    ContentProvider和ContentResolver的使用
  • 原文地址:https://www.cnblogs.com/Ayinger/p/11006354.html
Copyright © 2020-2023  润新知