Unity 6.3
0 онлайн 9 гостей 3 в системе
Вход

ImageConversion.EncodeToEXR

Declaration

public static byte[] EncodeToEXR(Texture2D tex, Texture2D.EXRFlags flags);

Параметры

Параметр Описание
Текст Текстура для преобразования.
флаги Флаги, используемые для управления сжатием и форматом выхода. По умолчанию Texture2D.EXRFlags.None

Описание

Кодирует текстуру в формат EXR.

Эта функция возвращает массив байтов, который представляет собой данные файла EXR. Вы можете сохранить кодированные данные в виде файла или отправить их по сети без дальнейшей обработки.

Эта функция не работает на любом сжатом формате. Хотя лучше всего использовать эту функцию для текстурных форматов HDR (либо 16-битных, либо 32-битных с плавающей запятой), она может быть использована с другими форматами (и данные преобразуются в режиме реального времени). По умолчанию формат вывода является несжатым 16-битным с плавающей запятой EXR и может контролироваться с помощью передаваемых флагов. Для передачи текстуры, Texture.isReadable должен быть true. Кодированные данные EXR будут содержать только альфа-канал, если переданный формат имеет его. Для одноканальных красных текстур ( R8, R16, RFloat и RHalf ), кодированные данные будут в режиме оттенков серого.

Дополнительные ресурсы: EXRFlagsEncodeToJPG, EncodeToPNG

// Saves HDR RenderTexture as an EXR file.
using UnityEngine;
using System.Collections;
using System.IO;

public class SaveRenderTextureToEXR : MonoBehaviour { RenderTexture m_InputTexture;

void SaveRenderTexture() { if (m_InputTexture != null) { int width = m_InputTexture.width; int height = m_InputTexture.height;

Texture2D tex = new Texture2D(width, height, TextureFormat.RGBAFloat, false);

// Read screen contents into the texture Graphics.SetRenderTarget(m_InputTexture); tex.ReadPixels(new Rect(0, 0, width, height), 0, 0); tex.Apply();

// Encode texture into the EXR byte[] bytes = ImageConversion.EncodeToEXR(tex, Texture2D.EXRFlags.CompressZIP); File.WriteAllBytes(Application.dataPath + "/../SavedRenderTexture.exr", bytes);

Object.DestroyImmediate(tex); } } }

Дополнительные ресурсы: ,EncodeArrayToEXR,, ,EncodeNativeArrayToEXR,, ,EncodeToPNG,, ,EncodeToJPG,, ,EncodeToTGA,.