DrawingContext.DrawLine: Pen не имеет полной непрозрачности?

когда я рисую что-то подобное (здесь просто случайные рисунки):

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        DrawingVisual visual = new DrawingVisual();
        DrawingContext context = visual.RenderOpen();

        Pen pen = new Pen(Brushes.Black, 1);

        context.DrawEllipse(Brushes.YellowGreen, pen, new Point(0,0), 40, 40);

        for (int i = 0; i <= 100 - 1; i++)
          context.DrawLine(new Pen(Brushes.Black, 1), new Point(0, i), new Point(i, i));

        context.Close();

        RenderTargetBitmap bmp = new RenderTargetBitmap(100, 100, 96, 96, PixelFormats.Pbgra32);

        bmp.Render(visual);
        image1.Source = bmp;
    }
}

цвета DrawLine и DrawEllipse смешиваются. (Я выяснил, что перо используется только в DrawLine, а не в других формах, таких как Rectangle и Ellipse, в которых используется кисть). Как ни странно, даже с цветами из LinearGradientBrush основного фона сетки (argh). Я бы хотел, чтобы они были упорядочены по z с полной непрозрачностью каждого.

Вот код XAML:

<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Image Name="image1" Stretch="None" />
</Window>

Спасибо за любую помощь.

5
задан Julian 12 June 2012 в 17:05
поделиться