2017-02-27 71 views
0

我有一个用于我的程序的屏幕覆盖设置。我试图在这个覆盖窗口中绘制一个蓝线框,我试图用SharpDX来做到这一点。DrawRectangle SharpDX

device.FillRectangle(new RectangleF(300, 300, 400, 200), backgroundBrush); 

我唯一的问题是如何使用fillRectangle的笔刷值。

在刷类是在问我的IntPtr即使我做的:

device.FillRectangle(new RectangleF(300, 300, 400, 200),SharpDX.Direct2D1.Brush(IntPtr.Zero); 

它仍然抛出的错误。

这是文档。

http://www.nudoq.org/#!/Packages/SharpDX.Direct2D1/SharpDX.Direct2D1/Brush

+0

'IntPtr.Zero'不会削减它。你需要一个指向本地画笔的指针。 '零'是一个空指针。 – Sefe

+0

@Sefe然后我应该使用什么刷子? –

+1

我不知道sharpdx,但它要求刷子的本地指针。您需要首先创建画笔实例。 – Sefe

回答

1

以我的经验,你创建刷机的一个子类(可能的SolidColorBrush在这种情况下?)。

事情是这样的:

DrawingBrush = new SolidColorBrush(RenderTarget, Color.Black); 

哪里渲染目标是创建绘制到渲染目标。