2016-07-26 10 views
1

私は、ストロークで楕円を持っている:楕円ストロークの背景色

myEllipse.Stroke = Brushes.Yellow; 

私はそれが黄色にする必要がありますが、それは常に、この中ではかなり一般的である、白い背景の上にきれいに表示されません。シナリオ。

イエローストロークを黒い背景に置く方法があるのだろうかと思っていました。代わりに黒を置き換える黄色のそれは常に黄色表示されるように、背景画像が黒であるかのよう

myEllipse.Stroke = Brushes.Black; 
myEllipse.Stroke = Brushes.Yellow; 

場合、それは組み合わせであろう。

+0

いいえ、別の 'StrokeThickness'で2つの楕円を重ねることができます。もう一つの可能​​性は、あなたのニーズに合った 'RadialGradientBrush'を計算することですが、それはより多くの努力を要するでしょう。 –

+0

この問題は非常に一般的です。マウスポインタを見てください。目に見えるようにする必要があります背景色を無視します。そして、最も明白な解決策は、逆の(反転した)色で描かれたオブジェクトの周りに薄い輪郭がある場合、アウトラインを使用することです。実際にその輪郭を描く最も簡単な方法は、反転した色で最初にわずかに増加したオブジェクト(同じ中心点を使用)を描画し、元のものをその上に描画することです。 – Sinatr

答えて

1

お互いの上に2つの楕円を描くことができます。最初のものは黒で、2番目のものよりやや厚く、黄色になります。

コンテナオブジェクト(ビュー、グリッドなど)に追加される順序で描画されるため、「黒」→「黄」の順に追加してください。