public D2D1Bitmap CreateSharedBitmap(Guid riid, IntPtr data, D2D1BitmapProperties bitmapProperties)
        {
            ID2D1Bitmap bitmap;

            GCHandle bitmapPropertiesHandle = GCHandle.Alloc(bitmapProperties, GCHandleType.Pinned);

            try
            {
                this.GetHandle<ID2D1RenderTarget>().CreateSharedBitmap(ref riid, data, bitmapPropertiesHandle.AddrOfPinnedObject(), out bitmap);
            }
            finally
            {
                bitmapPropertiesHandle.Free();
            }

            return new D2D1Bitmap(bitmap);
        }
 public D2D1Bitmap CreateBitmap(D2D1SizeU size, D2D1BitmapProperties bitmapProperties)
 {
     ID2D1Bitmap bitmap;
     this.GetHandle<ID2D1RenderTarget>().CreateBitmap(size, IntPtr.Zero, 0U, ref bitmapProperties, out bitmap);
     return new D2D1Bitmap(bitmap);
 }
        public D2D1Bitmap CreateBitmapFromWicBitmap(object wicBitmapSource, D2D1BitmapProperties bitmapProperties)
        {
            if (wicBitmapSource == null)
            {
                throw new ArgumentNullException("wicBitmapSource");
            }

            ID2D1Bitmap bitmap;

            GCHandle bitmapPropertiesHandle = GCHandle.Alloc(bitmapProperties, GCHandleType.Pinned);

            try
            {
                this.GetHandle<ID2D1RenderTarget>().CreateBitmapFromWicBitmap((IWICBitmapSource)wicBitmapSource, bitmapPropertiesHandle.AddrOfPinnedObject(), out bitmap);
            }
            finally
            {
                bitmapPropertiesHandle.Free();
            }

            return new D2D1Bitmap(bitmap);
        }
 public D2D1Bitmap CreateBitmap(D2D1SizeU size, IntPtr srcData, uint pitch, D2D1BitmapProperties bitmapProperties)
 {
     ID2D1Bitmap bitmap;
     this.GetHandle<ID2D1RenderTarget>().CreateBitmap(size, srcData, pitch, ref bitmapProperties, out bitmap);
     return new D2D1Bitmap(bitmap);
 }