Example #1
0
        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);
        }
Example #2
0
        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);
        }