2016-08-05 2 views
0

Existe-t-il un moyen d'implémenter l'alignement des pixels dans UWP à partir du code? Je sais que les contrôles XAML dans UWP le font automatiquement, mais j'utilise une librairie tierce, Win2D, pour tracer quelques lignes, et l'accrochage aux pixels n'est pas le réglage par défaut. Aligner ces lignes avec le reste de l'interface est pénible. J'ai besoin d'aligner certaines bordures verticales dessinées avec Win2D avec les bordures verticales de pixels de certaines cellules dessinées à l'intérieur d'un ListView horizontal XAML. Ce dont j'aurais besoin serait d'obtenir les coordonnées exactes X et Y du pixel le plus proche. J'ai besoin de dessiner une ligne verticale/horizontale avec Win2D.DrawLine de A à B et je dois aligner les pixels pour empêcher l'anti-alignement et pour aligner avec une bordure XAML.Aligner sur les pixels intégrant Win2D

Ceci est l'image du problème actuel. Le brut inférieur est dessiné avec Win2d, le supérieur brut est l'en-tête de table et est dessiné avec des contrôles XAML.

enter image description here

je besoin d'un moyen de casser au pixel les lignes tracées avec Win2D tout comme le fait XAML.

+0

L'image ne ressemble pas, comme la ligne verticale serait une fraction d'un pixel off. Il ressemble plus à un pixel entier. Bien que la qualité d'image soit assez mauvaise pour être sûr (PNG sont sans perte, mais le vôtre semble avoir des artefacts JPG, pouvez-vous fournir une image qui n'a pas subi de conversions avec perte?). – IInspectable

+0

@IInspectable, ce n'est pas une image, c'est une zone dessinée, en utilisant la bibliothèque Win2D. J'ai trouvé la solution, comme recommandé par le personnel de win2D: j'ai obtenu les coordonnées exactes X, Y des éléments que je devais aligner et cela a fonctionné parfaitement. –

+0

C'est une capture d'écran (c'est toujours une image, n'est-ce pas?), Et ça a l'air flou, ce qui ne devrait pas être le cas, car c'est un PNG. Donc, je suppose qu'il a été converti à partir d'un format de fichier avec perte en cours de route. Je demandais une capture d'écran, qui ne montre pas d'artefacts de compression. – IInspectable

Répondre

1

J'ai obtenu les coordonnées exactes des éléments dont je avais besoin d'aligner à l'aide de cet exemple:

Absolute coordinates of UIElement in WinRT

Alors j'ai simplement dessiné les lignes aux coordonnées exactes.

0

L'alternative à votre propre réponse pourrait être de dessiner seulement ces lignes en utilisant XAML.