Dans WPF, Quelle est la meilleure façon de créer des boutons de barre d'outils afin que les images sont correctement adapté?
Plus précisément, je cherche à utiliser le 16*16 32-peu images png inclus avec le VS2008ImageLibrary. J'ai essayé de réglage manuel de la Hauteur et de la Largeur des attributs de l'image, le réglage des marges et padding, réglage de s'Étirer et de RenderOptions. Mes tentatives pour créer des boutons de barre d'outils ont conduit soit à une Mauvaise mise à l'Échelle (icônes flous), la ligne du bas de pixels sur l'icône tronqué, ou le bouton de barre d'outils mal de la taille - pour ne pas mentionner la disparition des icônes déjà mentionné Ici. Quelqu'un a trouvé la meilleure façon de faire de la norme, VisualStudio/WinForms de style de la barre d'outils des boutons qui s'affichent correctement dans WPF?
OriginalL'auteur T.R. | 2009-03-28
Vous devez vous connecter pour publier un commentaire.
D'abord, changer la résolution de l'image à 96 PPP, cela peut faire avec du libre Paint.net ( http://www.getpaint.net ) en ouvrant le fichier, en Sélectionnant l'Image->Taille du Canevas à partir du menu et le réglage de la "résolution" de 96 et de l'épargne.
Si cela ne vous aide pas, vous pouvez alors utiliser la solution que j'ai écrit sur mon blog ici http://www.nbdtech.com/blog/archive/2008/11/20/blurred-images-in-wpf.aspx
OriginalL'auteur Nir
Meilleure façon serait l'utilisation de graphiques Vectoriels au lieu de png. Je sais que la suite n'est pas exactement ce que vous avez demandé, mais à mon humble avis il n'y a aucun moyen pour arriver à la meilleure des icônes. Aussi, il serait de vous aider à vous débarrasser hors marges externes et internes. (Ok, si vous souhaitez utiliser des photos que vous êtes foutu)
Mauvaise nouvelle, c'est que vous avez probablement besoin de repeindre toutes vos icônes. Vous pouvez faire cela à l'aide de MS Expression Blend(il est capable d'enregistrer des Images peintes .xaml) ou vous rendre sur notre propre avec un texteditor.
Je préfère la Frontière.Arrière-plan au lieu de l'Image.Source de la mise de l'icône, cela me permet de mettre du texte sur l'image. Ce serait un look samething comme ça:
OriginalL'auteur Marcel B
La meilleure solution je peux trouver est: est-ce
Ou Alternativement:
Pour le Bouton de la Balise, le Rembourrage de l'attribut est nécessaire pour s'assurer que l'image n'est pas tronqué à une hauteur de 15 pixels, et que le bouton n'est pas redimensionné pour s'adapter à l'image. Nous pourrions également spécifier Padding="1", mais ensuite, nous devons définir manuellement Height="21" et Width="22" pour assurer le bouton n'est pas redimensionné pour s'adapter à l'image
Sur l'Onglet Image, la Hauteur et la Largeur sont nécessaires pour s'assurer que l'image n'est pas étiré. SnapsToDevicePixels et RenderOptions.BitMapScalingMode sont à la fois nécessaires pour s'assurer qu'il n'y a pas de flou. Je ne peux pas promettre que cela fonctionne bien pour toutes les résolutions.
Note:
Pour le NewDocumentHS.png icône, celle qui cause le plus de problèmes,car il occupe la totalité de 16 pixels de hauteur, vous pouvez régler le rembourrage pour "1,1,3,2", de sorte que le fond soit plus correctement avec d'autres icônes.
OriginalL'auteur T.R.
Vous souhaitez peut-être envisager d'essayer un nouveau bien, maintenant disponible dans WPF4.
Laissez le
RenderOptions.BitmapScalingMode
à de haute Qualité ou tout simplement ne pas la déclarer.Sur votre élément racine (c'est à dire votre fenêtre principale) ajouter cette propriété:
UseLayoutRounding="True"
.Une propriété auparavant uniquement disponibles dans Silverlight a maintenant fixé tous les Bitmap dimensionnement des malheurs. 🙂
Plus d'info ici: http://blogs.msdn.com/text/archive/2009/08/27/layout-rounding.aspx
OriginalL'auteur Domokun