wenn ich zeichne etwas wie die (nur zufälligen Zeichnungen hier):DrawingContext.DrawLine: Stift hat keine vollständige Deckkraft?
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;
}
}
die Farben DrawLine und DrawEllipse Mix. (Ich habe herausgefunden, dass nur mit DrawLine ein Stift verwendet wird und nicht mit anderen Formen wie Rectangle und Ellipse, die einen Pinsel verwenden). Seltsamerweise sogar mit Farben aus dem LinearGradientBrush eines zugrunde liegenden Grids 'Background (argh). Ich möchte, dass sie jeweils mit voller Opazität z-Ordered sind.
Hier ist der XAML-Code:
<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>
Vielen Dank für jede Hilfe.
Ich habe eine Umgehung mit DrawLine mit einem Füller Pinsel in DrawLine mit einem Stift verwendet. Dennoch frage ich mich, warum Stifte keine volle Opazität haben. – Julian
'Pen' hat volle Deckkraft, aber in Ihrem Fall sind die Linien so dünn, dass sie verschwimmen und halbtransparent erscheinen. Lesen Sie meine Antwort für weitere Informationen und vorgeschlagene Lösungen :). Durch das Zeichnen von Rechtecken können Sie nur horizontale und vertikale Linien simulieren. Linien zeichnen, aber mit größerer Breite sollten den Trick machen;). –