Ich versuche, einen WPF DrawingBrush zu erstellen, der ein Schraffurmuster mit zwei 1px mal 1px Rechtecken zeichnet. Das resultierende Muster würde wie der Hintergrund in klassischen Macintosh-Apps aussehen.Zeichnen eines 2px-Schraffurpinsels in WPF
Hier ist, was ich arbeite mit:
<Canvas SnapsToDevicePixels="True">
<Canvas.Background>
<DrawingBrush x:Name="gridBackgroundBrush"
Viewport="0,0,10,10"
ViewportUnits="Absolute"
TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Geometry="M0,0 L10,0 10,10, 0,10Z" Brush="Green"/>
<GeometryDrawing Geometry="M10,10 L20,10 20,20, 10,20Z" Brush="Green" />
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Canvas.Background>
</Canvas>
Alles sieht klar und scharf, mit der Ausnahme, dass die Boxen sind viel zu groß. Wenn ich den Viewport auf dem Pinsel anpasse, werden die Dinge verschwommen. Es sieht so aus als ob das Anti-Aliasing mich umbringt; es möchte 3px verwenden, um von festem Grün zu nichts zu verblassen, was nicht funktioniert, wenn ich zu Größen unter 3-4px komme. Gibt es etwas, was ich tun kann, um das Anti-Aliasing vollständig zu deaktivieren und pixelgenaues Zeichnen zu machen?