2017-02-27 72 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); 

哪裏渲染目標是創建繪製到渲染目標。