gpt4 book ai didi

java - onPictureTaken 方法 - 获取数据作为 tiff?

转载 作者:搜寻专家 更新时间:2023-11-01 08:07:26 27 4
gpt4 key购买 nike

所以我阅读了很多关于如何获得图像预览然后保存它的教程。通常的教程涉及使用 SurfaceHolderSurfaceView 以及 PictureCallback

因为它出现在 documentation 上这是

的签名

public abstract void onPictureTaken (byte[] data, Camera 相机)

通常要保存图片你可以做类似的事情

/** Handles data for jpeg picture */
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream outStream = null;
try {
// write to local sandbox file system
// outStream =
// CameraDemo.this.openFileOutput(String.format("%d.jpg",
// System.currentTimeMillis()), 0);
// Or write to sdcard
outStream = new FileOutputStream(String.format(
"/sdcard/%d.jpg", System.currentTimeMillis()));
outStream.write(data);
outStream.close();
Log.d(TAG, "onPictureTaken - wrote bytes: " + data.length);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
Log.d(TAG, "onPictureTaken - jpeg");
}
};

但我对保存 jpeg 不感兴趣。我想保存一个 tiff 图像。阅读文档后,我发现了关于 data 格式的一般性评论:

Called when image data is available after a picture is taken. The format of the data depends on the context of the callback and Camera.Parameters settings.

所以我点击了Camera.Parameters但我没有发现任何有用的东西。

有没有办法将字节保存为 tiff?我做错了什么吗?

最佳答案

不,不直接支持 TIFF。保存 TIFF 文件的最兼容选项是使用 BitmapFactory 解码从 takePicture 接收的 JPEG。 , 然后使用 TIFF 库将位图作为 TIFF 文件保存到磁盘。

Android 的 API 不直接支持 TIFF,因此您必须找到第 3 方库。

您可能需要考虑改用 PNG,因为 API 直接支持它;你可以调用Bitmap.compress那么。

关于java - onPictureTaken 方法 - 获取数据作为 tiff?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180188/

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