以下问题。我只是试图用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