如何为我的矩形设置不透明度(drawingcontext)

how to set opacity for my rectangle(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);

            }
        }

所以我的问题是如何设置不透明度,这是正确的方法吗?

(这是改变矩形的不透明度)

不要将 Brushes.Red 传递到 Rectangle 中,而是创建一个新的 SolidColorBrush 并设置传递到 Rectangle 中的 SolidColorBrush 的不透明度

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

dc.DrawRectangle(rectBrush, ...

您需要为 Pen 做类似的事情

简单

drawingVisual.Opacity = 0.5;