这是我的矩形
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 :(得分:3)
(这是改变矩形的不透明度)
不是将Brushes.Red传递给Rectangle而是创建一个新的SolidColorBrush并设置传递给Rectangle的SolidColorBrush的不透明度
SolidColorBrush rectBrush = new SolidColorBrush(Colors.Red);
rectBrush.Opacity = 0.5; // or whatever
dc.DrawRectangle(rectBrush, ...
你需要为Pen做类似的事情
答案 1 :(得分:1)
简单地
drawingVisual.Opacity = 0.5;