这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战
一、 CaptureResult
CaptureResult 表示的是捕获的结果,表示传感器捕获的单个图像的结果的一个子集,其中包含了处理通道、输出缓冲区、捕获的硬件例如闪光灯、传感器和镜头、还有控制算法的最终配置。 CaptureResult 对象不可变,因为捕获的结果是摄像机对 CaptureRequest 进行处理后生产的,不但如此。想要确定捕获使用的最终值的话,我们还可以对 CaptureResult 查询为 CaptureRequest 列出的所有属性,结果还包括捕获过程中相机设备状态的附加元数据。
二、实例对象
在 CameraCaptureSession.CaptureCallback 的回调方法 onCaptureProgressed() 和 onCaptureCompleted() 中获取到 CaptureResult 的对象。
private CameraCaptureSession.CaptureCallback mCaptureCallback
= new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureProgressed(@NonNull CameraCaptureSession session,
@NonNull CaptureRequest request,
@NonNull CaptureResult partialResult) {
process(partialResult);
}
@Override
public void onCaptureCompleted(@NonNull CameraCaptureSession session,
@NonNull CaptureRequest request,
@NonNull TotalCaptureResult result) {
process(result);
}
}
};
三、内部类
CaptureResult.Key ,用于 CaptureResult 类的字段查找。
四、常用方法
1. T get(Key key)
获取 CaptureResult 中指定 key 的值,key 为 CaptureResult 类中的那些静态常量。
2. long getFrameNumber()
获取该结果申请的帧的数量。
3. List<Key<?>> getKeys()
返回映射中包含的所有 Key 的列表。
4. CaptureRequest getRequest()
返回这个结果对应的 CaptureRequest 对象。
5. int getSequenceId()
获取发生故障时的序列ID。
bitmap BitmapFactory 工具类
四种加载Bitmap对象的方法:
1、decodeFile : 本地图片文件。
2、decodeResource : 项目资源文件。
3、decodeStream : 流对象(网络输入流 或 本地输入流)。
4、decodeByteArray :字节序列中加载一个Bitmap对象。
setImageBitmap ( ) 显示图片。
Bitmap 代表一个位图,BitmapDrawable 里封装的图片就是一个 Bitmap 对象。开发者为了把一个 Bitmap 对象包装成 BitmapDrawable 对象,可以调用 BitmapDrawable 的构造器:
BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmap);
如果需要获取 BitmapDrawable 所包装的 Bitmap 对象,则可以用 BitmapDrawable 的 getBitmap() 的方法:
Bitmap bitmap = bitmapDrawable.getBitmap();