Renderizando linhas nítidas no WPF

Se eu renderizar o seguinte:

          

Eu recebo este resultado (Kaxaml):

insira a descrição da imagem aqui

Observe a fina linha branca entre as duas formas. Eu procurei em volta e descobri que isso tem a ver com o alinhamento de pixels. Eu esperaria que as configurações SnapsToDevicePixels="True" seriam o suficiente para se livrar da linha, mas isso não funciona!

Alguma idéia de como se livrar da linha branca?

Tente virar o aliasing com RenderOptions, como este (veja Propriedades da grade)

           

Lembre-se de que SnapsToDevicePixels controla apenas que os pontos individuais não se encontram em valores fracionários de pixels. Para linhas horizontais e verticais isso é mais facilmente observado. No seu caso, você está vendo um problema totalmente diferente. As bordas de suas formas são suavizadas e, portanto, mescladas com o plano de fundo. Como suas formas são exatamente adjacentes, ambas serão combinadas com o plano de fundo branco da janela. Você pode tentar colocar uma forma atrás da outra em vez disso:

        

que deve render corretamente. Você vê erros de renderização semelhantes em muitos formatos de arquivos vetoriais que são renderizados principalmente para a canvas, como SVG.

A outra opção seria desativar o anti-aliasing, mas isso tornará as bordas irregulares, que podem não ser o que você deseja (o anti-aliasing foi desativado na metade superior):

texto alternativo http://sofpt.miximages.com/c%23/wpf_rendering_shape.png