WPF: System.Windows.Int32Rect --- > System.Windows.Int32Point?
Question
Vous savez comment System.Drawing.Rectangle a été remplacé par System.Windows.Int32Rect? (En ce qui concerne les formes à virgule non flottante, etc.)
Existe-t-il un nouvel objet similaire pour un point entier ou une taille? Sinon, je vais simplement utiliser System.Drawing - mais cela ressemble un peu à un mélange mineur de deux plates-formes qui ne devrait pas me mélanger.
Quoi qu'il en soit, qu'en pensez-vous?
La solution
Les primitives de dessin de WPF stockent toutes les valeurs de mesure / emplacement sous forme de doublons - apparemment, à l'exception de Int32Rect, comme vous l'avez indiqué. Cette conception est due au fait que WPF n'est pas lié directement d'un pixel à un autre - il utilise les "pixels indépendants du périphérique". (DIP) pouvant être mis à l'échelle pour tout périphérique sur lequel il est rendu. Cela donne à WPF la possibilité de redimensionner et de traduire très facilement tout ce qu’il affiche.
En ce qui concerne System.Windows.Int32Rect, le seul endroit où il est utilisé à l’intérieur de l’API est celui de la capture et du rognage des pixels. Cela a du sens: lors d’une capture d’écran, vous souhaitez obtenir exactement les pixels actuellement affichés sur le périphérique.