2017-04-19 37 views
1

這是我的矩形如何設置不透明度爲我的矩形(的DrawingContext)

protected void DrawRectangle(DrawingContext dc, Point point) 
     { 
      DrawingVisual drawingVisual = new DrawingVisual(); 
      using (DrawingContext drawContext = drawingVisual.RenderOpen()) 
      { 
       Pen drawingPen = new Pen(ErrorBarBrush, ErrorBarThickness); 
       dc.DrawRectangle(Brushes.Red, 
        new Pen(Brushes.Black, 5), 
        new Rect(new Point(point.X - 50, point.Y + 50), 
        new Point(point.X + 50, point.Y - 50))); 
       dc.PushOpacity(2); 

      } 
     } 

所以我的問題是如何設置我的不透明性,是做這種正確的方式?

+0

只是一個說明。當你從不使用返回的DrawingContext時,創建DrawingVisual並調用RenderOpen方法是毫無意義的。 – Clemens

回答

2

(這是改變矩形的不透明度)

不是傳遞Brushes.Red成矩形作出新的SolidColorBrush和設置的SolidColorBrush的傳遞到矩形

SolidColorBrush rectBrush = new SolidColorBrush(Colors.Red); 
rectBrush.Opacity = 0.5; // or whatever 

dc.DrawRectangle(rectBrush, ... 
透明度

你需要做類似的事情爲筆

+0

我怎麼能不這麼想,非常感謝! – Bonanza

1

只需

drawingVisual.Opacity = 0.5;