28 lines
779 B
C#
28 lines
779 B
C#
|
using ExampleWorld.wit.imports.lyra.api;
|
||
|
|
||
|
namespace LyraApi.Asset;
|
||
|
|
||
|
public class ImageHandle(IAsset.ImageHandle handle) : IAssetHandle
|
||
|
{
|
||
|
internal IAsset.ImageHandle inner = handle;
|
||
|
|
||
|
public uint? Height => inner.Height();
|
||
|
public uint? Width => inner.Width();
|
||
|
|
||
|
public static object? FromRawHandle(UntypedHandle untypedHandle)
|
||
|
{
|
||
|
var handle = IAsset.ImageHandle.FromRawHandle(untypedHandle.inner);
|
||
|
return handle != null ? new ImageHandle(handle) : null;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Get the image's pixels as native endian bytes.
|
||
|
/// </summary>
|
||
|
///
|
||
|
/// Keep in mind that this does copy the image's pixels from the host.
|
||
|
/// This is pretty slow.
|
||
|
public byte[]? GetImageBytes()
|
||
|
{
|
||
|
return inner.GetBytes();
|
||
|
}
|
||
|
}
|