2010-12-04 2 views
1

Ich versuche, zuerst ein Symbol aus einer ausführbaren Datei zu ziehen, speichern Sie es in einer bestimmten Datei und zeigen Sie das in einem WPF-Fenster an.Wpf - Resizing-Symbol, verschwommene Bildmenge

Die Qualität ist bei 32x32 völlig in Ordnung, aber wenn ich versuche, es zu vergrößern, wird es verschwommen.

Bild aus meiner Anwendung, 32x32 Bild neben 100x100 Bild:
Image http://img821.imageshack.us/img821/8967/imageresizemine.jpg

Wie Sie sehen, es ist ziemlich verschwommen, im Vergleich ist hier ein Bild aus einer anderen Anwendung, die das Symbol von ausführbarem ist auch immer (und noch größer) so ist es natürlich möglich.
Image http://img714.imageshack.us/img714/1842/imageresizeother.jpg

Es gibt mehrere Themen zu diesem (oder zumindest verwandten), aber mir ist es nicht gelungen, herauszufinden, was genau das Problem ist.

Ich zeige das Bild mit diesem Code an.

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

Ich nehme an, das Problem mit der Anzeige des Bildes ist vielmehr dann, wie es ursprünglich ist gespeichert, aber nur für den Fall ... Ich spare das Bild mit diesem Code.

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

Antwort

4

ExtractAssociatedIcon erhält nur das 32x32-Symbol, auch wenn die Ressourcen der App andere haben. Sie müssen wahrscheinlich den ganzen Weg gehen, um etwas aufzurufen, um eines der anderen Symbole in einer exe zu erhalten.

+0

http://www.pinvoke.net/default.aspx/shell32/ExtractAssociatedIcon.html hat einige weitere Informationen –

+0

Oh, das ist richtig. Ich habe mich ursprünglich umgesehen, weil ich all die Sachen, die ich über Icons gesehen habe, 16x16/32x32 war, also dachte ich, das wäre alles, was du bekommen konntest. Sah wieder herum und fand, dass diese Bibliothek die verschiedenen Symbolgrößen aus der EXE-Datei korrekt abholen würde. http://www.codeproject.com/KB/cs/IconLib.aspx – John