當我得出類似的東西(只是隨機這裏圖紙):DrawingContext.DrawLine:筆沒有完全不透明?
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等其他形式的筆刷)。奇怪的是,即使使用來自底層網格背景(argh)的LinearGradientBrush的顏色。 我希望他們每個都是完全不透明的z-Ordered。
這裏的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>
感謝您的幫助。
我通過使用DrawRectangle和填充筆在筆中插入DrawLine來制定解決方法。我仍然想知道爲什麼筆沒有完全不透明。 – Julian
'筆'已經完全不透明,但在你的情況下,線條太薄,以至於模糊,似乎是半透明的。閱讀我的答案以獲取更多信息並提供解決方案:)。繪製矩形允許您僅模擬水平線和垂直線。畫線,但寬度更大應該做的伎倆;)。 –