Class ExrHeaderEntry
An attribute of an OpenEXR header, kept as stored.
public sealed record ExrHeaderEntry : IEquatable<ExrHeaderEntry>
- Inheritance
-
ExrHeaderEntry
- Implements
- Inherited Members
Examples
// The first part's RGBA channels as linear light, 1.0 reference white; other layers by name.
using Raster<RgbaF32> beauty = Raster.Load<RgbaF32>("render.exr");
var details = (ExrDetails)beauty.Metadata.FormatDetails!;
IReadOnlyList<string> layers = details.Parts[details.Part].Layers; // "diffuse", "specular"
using Raster<RgbaF32> diffuse = Raster.Load<RgbaF32>("render.exr", options: new ExrReaderOptions { Layer = "diffuse" });
// Any one channel, such as depth or an object id, as 32-bit float.
using Raster<GrayF32> depth = ExrImage.ReadChannel("aov.exr", "Z");
Constructors
ExrHeaderEntry(string, string, ReadOnlyMemory<byte>)
An attribute of an OpenEXR header, kept as stored.
public ExrHeaderEntry(string Name, string Type, ReadOnlyMemory<byte> Value)
Parameters
NamestringThe attribute's name, such as "owner".
TypestringThe attribute's type name, such as "string" or "v2f".
ValueReadOnlyMemory<byte>The value's bytes, little-endian as in the file.
Examples
// The first part's RGBA channels as linear light, 1.0 reference white; other layers by name.
using Raster<RgbaF32> beauty = Raster.Load<RgbaF32>("render.exr");
var details = (ExrDetails)beauty.Metadata.FormatDetails!;
IReadOnlyList<string> layers = details.Parts[details.Part].Layers; // "diffuse", "specular"
using Raster<RgbaF32> diffuse = Raster.Load<RgbaF32>("render.exr", options: new ExrReaderOptions { Layer = "diffuse" });
// Any one channel, such as depth or an object id, as 32-bit float.
using Raster<GrayF32> depth = ExrImage.ReadChannel("aov.exr", "Z");
Properties
Name
The attribute's name, such as "owner".
public string Name { get; init; }
Property Value
Type
The attribute's type name, such as "string" or "v2f".
public string Type { get; init; }
Property Value
Value
The value's bytes, little-endian as in the file.
public ReadOnlyMemory<byte> Value { get; init; }