2010-12-04 19 views
1

Je tente d'abord d'extraire une icône d'un fichier exécutable, de l'enregistrer dans un fichier particulier et de l'afficher dans une fenêtre WPF.Wpf - Redimensionnement de l'image, quantité d'image floue

La qualité est parfaitement satisfaisante à 32x32 mais quand j'essaie de la redimensionner pour qu'elle soit plus grande, elle commence à devenir floue.

Image de mon application, 32x32 image ci-100x100 Image:
Image http://img821.imageshack.us/img821/8967/imageresizemine.jpg

Comme vous pouvez le voir, il est assez floue, par comparaison est ici une image à partir d'une autre application qui devient l'icône de l'exécutable aussi (et encore plus grand) donc c'est évidemment possible.
Image http://img714.imageshack.us/img714/1842/imageresizeother.jpg

Il y a plusieurs sujets sur ceci (ou au moins liés) mais je ne suis pas réussi à comprendre exactement quel est le problème.

J'affiche l'image en utilisant ce code.

<Image Height="100" 
     Width="100" 
     HorizontalAlignment="Left" 
     Source="{Binding ImagePath}" 
     RenderOptions.BitmapScalingMode="HighQuality"/> 

Je suppose que le problème est dû à l'affichage de l'image plutôt que la façon dont il est enregistré au départ, mais juste au cas où ... Je suis d'enregistrer l'image en utilisant ce code.

Bitmap image = Icon.ExtractAssociatedIcon(FilePath).ToBitmap(); 
image.Save(imagePath, System.Drawing.Imaging.ImageFormat.Png); 

Répondre

4

ExtractAssociatedIcon ne reçoit que l'icône de 32x32, même si d'autres ont des ressources de l'application. Vous devrez probablement aller jusqu'à p/invoquer quelque chose pour obtenir l'une des autres icônes dans un exe.

+0

http://www.pinvoke.net/default.aspx/shell32/ExtractAssociatedIcon.html a plus d'info –

+0

Oh, c'est correct. J'ai regardé autour de moi à l'origine tout ce que je voyais à propos des icônes était 16x16/32x32 donc j'ai pensé que c'était tout ce que vous pouviez obtenir. Regardé autour de nouveau et a trouvé cette bibliothèque prend correctement tire toutes les différentes tailles d'icônes du fichier exe. http://www.codeproject.com/KB/cs/IconLib.aspx – John