Рендеринг резких строк в WPF

Высокий звук + Сдвиг +arrow ключи (, , , )

Это позволяет Вам выбирать вещи в блоке. Как Вы мог выбрать весь "интервал" в блоке и затем искать и заменить для удвоения, например.

**int** x = 1;
**int** y = 2;
**int** z = 3;
8
задан Drew Noakes 21 September 2016 в 21:26
поделиться

2 ответа

Попробуйте включить сглаживание краев с помощью RenderOptions, как это (см. Свойства сетки)

<Grid RenderOptions.EdgeMode="Aliased">
  <Canvas SnapsToDevicePixels="True">  
        <Path Fill="#FF000000" SnapsToDevicePixels="True" Data="M 0.00,0.00 L 2.50,0.00 0.00,10.00 " />
        <Path Fill="#FF260014" SnapsToDevicePixels="True" Data="M 2.50,0.00 L 7.50,0.00 2.50,10.00 0.00,10.00 " />
        <Canvas.RenderTransform>
          <ScaleTransform ScaleX="{Binding ElementName=slider,Path=Value}" ScaleY="{Binding ElementName=slider,Path=Value}" />
        </Canvas.RenderTransform>
  </Canvas>

  <Slider x:Name="slider" Minimum="0" Maximum="50" Value="30"/>
</Grid>
12
ответ дан 5 December 2019 в 10:42
поделиться

Помните, что SnapsToDevicePixels только контролирует, чтобы отдельные точки не лежали на дробных значениях пикселей. Для горизонтальных и вертикальных линий это легче всего заметить. В вашем случае вы видите совершенно другую проблему. Края ваших фигур сглаживаются и, следовательно, смешиваются с фоном. Поскольку ваши фигуры точно примыкают друг к другу, они будут смешаны с белым фоном окна. Вместо этого вы можете попробовать поместить одну фигуру позади другой:

<Canvas>  
      <Path Fill="#FF000000" Data="M 0.00,0.00 L 7.50,0.00 2.50,10.00 0.00,10.00 " />
      <Path Fill="#FF260014" Data="M 2.50,0.00 L 7.50,0.00 2.50,10.00 0.00,10.00 " />
      <Canvas.RenderTransform>
           <ScaleTransform ScaleX="{Binding ElementName=slider,Path=Value}" ScaleY="{Binding ElementName=slider,Path=Value}" />
      </Canvas.RenderTransform>
</Canvas>

, которая должна отображаться правильно. Вы видите похожие ошибки рендеринга во многих форматах векторных файлов, которые визуализируются в основном на экране, например в SVG.

Другой вариант - отключить сглаживание, но это сделает ваши края неровными, что может быть не тем, что вам нужно (антиалиасинг). -алисинг отключен в верхней половине):

alt text

4
ответ дан 5 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: