2017-02-27 23 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'はそれをカットしません。ネイティブブラシへのポインタが必要です。 'Zero'はヌルポインタです。 – Sefe

+0

@Sefeその後、ブラシにはどうすればいいですか? –

+1

私はsharpdxを知らないが、ブラシのネイティブポインタを要求する。最初にブラシインスタンスを作成する必要があります。 – Sefe

答えて

1

あなたは(おそらくSolidColorBrushのこのケースでは?)ブラシのサブクラスのいずれかを作成します。このような

何か:レンダーターゲットはあなたに描画するために作成したレンダーターゲットである

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

関連する問題