#silverlight #silverlight-4.0
#silverlight #silverlight-4.0
Вопрос:
У меня есть Canvas
, на котором я рисую Path
:
<Path Data="M 380 110 v -10 l 100 -100"
Stroke="#C0C0C2" StrokeThickness="1" UseLayoutRounding="True" />
Несмотря на то, что для StrokeThickness
установлено значение 1, вертикальная часть контура прорисовывается через 2 пикселя более светлым цветом.
Я знаю, что у WPF есть SnapsToDevicePixels
свойство, которое это исправит, и я читал, что в Silverlight есть UseLayoutRounding
свойство, которое вы можете использовать в некоторых случаях для получения того же эффекта, однако, похоже, оно не применимо к Path
.
Могу ли я что-нибудь сделать, чтобы эта линия была нарисована правильно?
Ответ №1:
В MSDN в блоге Silverlight Дэйва Релиеа есть класс pixel snapper, который можно найти в в блоге Silverlight Дэйва Релиеа в,,. Это то, что я использовал в прошлом для привязки пикселей Silverlight.
Комментарии:
1. Спасибо за предложение, однако у меня это не сработало. Координаты Я, кажется, понимаю, что этот класс работает путем привязки границ элемента к круглым пикселям, но координаты, которые я использую, уже являются целыми числами, и в случае пути привязка границ может не означать, что содержимое также попадает в круглые пиксели.