Erhalte das volle 16 x 16 Symbol mit Icon.ExtractAssociatedIcon und ImageList

8

Folgen Sie den Anweisungen unter diese Frage , damit ich Code ausführen kann extrahiere Symbole aus Dateien und zeige sie in einem ListView-Modus an, um den Detailmodus zu aktivieren. Ich möchte Symbole mit 16 x 16 anzeigen, aber wenn ich die Größe der Bildliste eingestellt habe, sehen die Symbole sehr komisch aus (nicht sicher, wie ich es beschreiben soll - siehe beigefügten Screenshot).

Ich habe versucht, die Größe auf 32 x 32 zu ändern und sie kommen gut aus, aber sicherlich muss es eine Möglichkeit geben, gute Qualität 16 x 16 Symbole müssen nicht dort?

Ссылка

    
robintw 20.01.2009, 21:47
quelle

3 Antworten

10

Sie müssen 2 Bildlisten verwenden, eine für kleine Bilder und eine für große Bilder, um das beste Ergebnis zu erhalten, denke ich. (Die Listenansicht hat zwei Eigenschaften, LargeImageList und SmallImageList)

Bearbeiten (neue Informationen gefunden, die funktionierten, als ich es versuchte):

Diese Version verwendet Interpolation, um den kleineren Daumen zu bekommen, sollte besser sein.

%Vor%     
Stefan 20.01.2009, 21:56
quelle
3

Mit diesem Code Project-Artikel und dem Demo von ExtractIconEx auf PInvoke.net können Sie folgendes schreiben:

%Vor%

Sie müssen die Signatur von ExtractIconFromExe in

ändern %Vor%

und ändern Sie den Code ein paar Zeilen nach

%Vor%     
relascope 19.04.2010 15:25
quelle
1

By defaut Bildliste ColorDepth-Eigenschaft ist auf Depth8Bit gesetzt, auf Depth32Bit .

    
Hugues Gauthier 22.05.2014 19:11
quelle

Tags und Links