/// <inheritdoc/> public unsafe override BitmapSource Read(byte *data, int dataLength, BitmapReaderFlags rFlags) { BITMAP_READ_DETAILS info; uint bcrFlags = (uint)rFlags; BitmapCore.ReadHeader(data, dataLength, out info, bcrFlags); return(BitmapWpfInternal.Read(ref info, data + info.imgDataOffset, bcrFlags)); }
/// <inheritdoc/> public override BitmapSource ReadFromBytes(byte[] data) { fixed(byte *dataptr = data) { uint bcrFlags = BitmapCore.BC_READ_PRESERVE_INVALID_ALPHA; BitmapCore.ReadHeader(dataptr, data.Length, out var info, bcrFlags); return(BitmapWpfInternal.Read(ref info, (dataptr + info.imgDataOffset), bcrFlags)); } }
/// <inheritdoc/> public override byte[] WriteToBytes(BitmapSource obj) { return(BitmapWpfInternal.GetBytes(obj, BitmapCore.BC_WRITE_SKIP_FH | BitmapCore.BC_WRITE_V5)); }
/// <inheritdoc/> public override byte[] GetBytes(BitmapSource bitmap, BitmapWriterFlags wFlags) { return(BitmapWpfInternal.GetBytes(bitmap, (uint)wFlags)); }