2013-07-30 4 views
0

Исправьте меня, если я ошибаюсь, но я считаю, что если я нарисую строку в WPF, и она будет достаточно маленькой, то линия будет сглажена. Также, если линия не нарисована на пикселе, тогда она может стать более тусклой. Я предполагаю, что если линия < шириной в 1 пиксель, она также будет уменьшена путем усреднения цветов, находящихся в этом месте.wpf Как я могу гарантировать, что строка, которую я рисую, не сглажена?

Моя цель - нарисовать график нескольких сигналов без того, чтобы линии, которые я рисую, исчезают или становятся тусклыми до такой степени, что пользователь может их не заметить.

Вопросы: если я рисую линию шириной 1 независимого от устройства пиксела, гарантируется ли она как минимум на один пиксель? если нет, есть ли способ обеспечить, чтобы линия имела ширину хотя бы одного пикселя?

ответ

2

Вы должны speficy

SnapsToDevicePixels = "True"

в заголовке вашего XAML

например:

<Window 
     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" 
     SnapsToDevicePixels="True"> 

Вы можете увидеть, как это изменяет линию в этом link