public bool TryGetAssociatedImageDimemsions(string name, out ImageDimemsions dims) { EnsureNotDisposed(); Interop.GetAssociatedImageDimemsions(_handle, name, out long w, out long h); if (w != -1 && h != -1) { dims = new ImageDimemsions(w, h); return(true); } dims = default; return(false); }
public unsafe byte[] ReadAssociatedImage(string name, out ImageDimemsions dimemsions) { EnsureNotDisposed(); if (!TryGetAssociatedImageDimemsions(name, out dimemsions)) { throw new KeyNotFoundException(); } var data = new byte[dimemsions.Width * dimemsions.Height * 4]; if (data.Length > 0) { fixed(void *pdata = &data[0]) { ReadAssociatedImageInternal(name, pdata); } } return(data); }