public int GetResolution(IWICBitmapSourceImpl *pinst, double *pDpiX, double *pDpiY) { *pDpiX = 96d; *pDpiY = 96d; return(S_OK); }
public int GetPixelFormat(IWICBitmapSourceImpl *pinst, Guid *pPixelFormat) { var ps = (PixelSource)GCHandle.FromIntPtr(pinst->source).Target !; *pPixelFormat = ps.Format.FormatGuid; return(S_OK); }
public int GetSize(IWICBitmapSourceImpl *pinst, uint *puiWidth, uint *puiHeight) { var ps = (PixelSource)GCHandle.FromIntPtr(pinst->source).Target !; *puiWidth = (uint)ps.Width; *puiHeight = (uint)ps.Height; return(S_OK); }
public int CopyPixels(IWICBitmapSourceImpl *pinst, WICRect *prc, uint cbStride, uint cbBufferSize, byte *pbBuffer) { var ps = (PixelSource)GCHandle.FromIntPtr(pinst->source).Target !; var area = prc is not null ? new PixelArea(prc->X, prc->Y, prc->Width, prc->Height) : ps.Area; ps.CopyPixels(area, (int)cbStride, (int)cbBufferSize, (IntPtr)pbBuffer); return(S_OK); }
public int QueryInterface(IWICBitmapSourceImpl *pinst, Guid *riid, void **ppvObject) { var iid = *riid; if (iid == __uuidof <IWICBitmapSource>() || iid == __uuidof <IUnknown>()) { *ppvObject = pinst; return(S_OK); } return(E_NOINTERFACE); }
public uint Release(IWICBitmapSourceImpl *pinst) => 1;
public uint AddRef(IWICBitmapSourceImpl *pinst) => 1;
public int CopyPalette(IWICBitmapSourceImpl *pinst, IWICPalette *pIPalette) => E_NOTIMPL;