以下問題。我只是試圖用C#繪製小東西。我想用Canvas做到這一點。但即使沒有畫布,線條也顯示模糊。在簡單演示項目中已經失敗的最簡單的事情是以下代碼:帶和不帶帆布的模糊線條。沒有辦法實現任何像素捕捉方式?
<UserControl x:Class="Drawing.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<Line Y1="1" Y2="300" StrokeThickness="1"
Stroke="Black" Margin="10 0 0 0"/>
</Grid>
</UserControl>
這行只是顯示模糊。我已經嘗試了這麼多,但我無法弄清楚如何實現清晰和一個像素寬的線條。
我嘗試以下操作:
UseLayoutRounding="True"
- 我試過像素鯛類 - 提供here - 不工作對我來說,無論是。這裏的Xavier Poinas(thread)的答案,他有明顯的相同的問題,也沒有用這個自定義像素捕捉器:「座標我似乎明白,這個類通過捕捉項目的邊界來圓化像素,但座標我使用的已經是整數,並且在路徑的情況下,捕捉邊界可能並不意味着內容也落在圓像素上。「)
這很好,如果找到了解決方案,它允許我捕捉由Canvas保存的行。
原因是:由於技術原因,我們需要一個無邊框OOB應用程序,它實現了自定義邊框(調整大小)以及包含最小化,最大化和關閉項目的自定義應用程序欄。我只是想通過手繪這些圖標,通過線等:
是否有可能更簡單的方法?我只是不想使用圖像資源。謝謝!
任何幫助將大大讚賞。
我不知道了很多關於Silverlight的,但我在想,你不上的像素boundry繪製準確。當我在WPF中處理這種事情時,我得到了很多。對我來說,我是在畫布上的整數位置繪製的...但是我的畫布沒有完全對準像素邊界(它正在居中,並且像素數量使得它在像素之間對齊。) – Beska