gpt4 book ai didi

java - 从 byte[] 创建位图

转载 作者:行者123 更新时间:2023-11-30 11:05:32 24 4
gpt4 key购买 nike

我正在做一个依赖相机的 Android 应用程序。我有函数 public void onPreviewFrame(byte[] data, Camera camera) 准备就绪时到达帧。现在我需要将此 byte[] 数据 转换为 Bitmap。我已经阅读了很多解决方案,我发现一个运行正常但速度太慢,在 LG Optimus G 中大约需要 250 毫秒:

Camera.Parameters parameters = camera.getParameters();

int width = parameters.getPreviewSize().width;
int height = parameters.getPreviewSize().height;
ByteArrayOutputStream outstr = new ByteArrayOutputStream();
Rect rect = new Rect(0, 0, width, height);
YuvImage yuvimage = new YuvImage(data, ImageFormat.NV21, width,
height, null);
yuvimage.compressToJpeg(rect, 100, outstr);
Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(),
0,
outstr.size());

还有其他方法吗?因为如果我想要高帧率的过程,这种方式不是最优的。

最佳答案

2 件有助于加快速度的事情:

#1 而不是硬编码的 ImageFormat.NV21 使用来自 parameters.getPreviewFormat() 的格式

#2 质量下降

关于java - 从 byte[] 创建位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29622805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com