Я использую следующий код для сохранения изображения с устройства ARCore.
using (var image = Frame.CameraImage.AcquireCameraImageBytes())
{
if (!image.IsAvailable) return;
byte[] m_EdgeImage = null;
if (_texture == null || m_EdgeImage == null || _texture.width != image.Width || _texture.height != image.Height)
{
_texture = new Texture2D(image.Width, image.Height, TextureFormat.RGBA32, false, false);
m_EdgeImage = new byte[image.Width * image.Height * 4];
System.Runtime.InteropServices.Marshal.Copy(image.Y, m_EdgeImage, 0, image.Width * image.Height);
_texture.LoadRawTextureData(m_EdgeImage);
_texture.Apply();
var encodedJpg = _texture.EncodeToJPG();
File.WriteAllBytes(Application.persistentDataPath + "/test.jpg", encodedJpg);
}
}
По какой-то причине изображение выглядит зашифрованным и перевернутым. я что-то упустил?