Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
16x16-Transparent-Button-Images-"finden"-Tool
cadi
myCSharp.de - Member

Avatar #avatar-1786.jpg


Dabei seit:
Beiträge: 308
Herkunft: Hamburg

Themenstarter:

16x16-Transparent-Button-Images-"finden"-Tool

beantworten | zitieren | melden

Moin moin,

ich heute hatte ich - mal wieder - das Problem, das ich kein passendes Bild für einen Button finden konnte.
Ich wusste aber, das irgendwo auf meiner Platte ein Programm rumliegt, das ein passendes Bild in seinem Toolbar hatte...

(ja, ich weiss das man solche Bilder meistens nicht klau... er... meinte leihen darf. aber das ignorieren wir mal schön...)

-----8<--- snipp------- ignore copy right issues from here -----

Da die meisten Resource-Grabber ein paar Probleme hatten (erst registrieren um zu speichern, keine .NET assemblies oder keine win32 images) musste ich da was eigenes schreiben...

Features:
    * Durchsucht ein Verzeichnis (auch rekursiv) nach *.dll, *.exe und *.ocx
    * extrahiert alle 16x16 bilder als transparentes PNG (transparente farbe wird "erraten")
    * liest win32 und clr dateien
    * splittet Win32 Imagelists in einzelne images (wer noch win32 toolbars gebastelt hat weis, was ich meine)
    * sucht nach doubletten (inhaltlich, nicht nach dem namen)
    * ist sowas von frei und umsonst


Der Source Code ist ein grauenhaftes Zusammengestückel von Fundstücken aus dem Netz und eigenem Kram (der aber nicht wirklich schön ist)...
(daher ist der Source Code auch nicht im Archiv enthalten... nur auf Anfrage.. evtl )

Aber es funktioniert, und nur darum ging es mir.
Da ich das Problem eigentlich bei jeder UI Entwicklung hatte, dacht ich, es geht dem einen oder anderen hier ähnlich ...
Attachments
private Nachricht | Beiträge des Benutzers
Khalid
myCSharp.de - Experte

Avatar #avatar-2534.gif


Dabei seit:
Beiträge: 3627
Herkunft: Hannover

beantworten | zitieren | melden

Danke für dieses kleine Tool.

An den Sourcen hätte ich interesse, da ich ganz gerne die Icons auch als Icons gespeichert hätte und nicht als konvertierte PNG. Alles andere kann gerne als PNG bleiben.


BTW: Man sollte nicht C:\ als Quelle mit Rekursion angeben. Naja, jetzt habe ich jedenfalls alle Icons von allen Programmen...
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
private Nachricht | Beiträge des Benutzers
cadi
myCSharp.de - Member

Avatar #avatar-1786.jpg


Dabei seit:
Beiträge: 308
Herkunft: Hamburg

Themenstarter:

beantworten | zitieren | melden

Hi Khalid,

die icons werden (momentan) nicht exportiert. Das sind alles Bitmaps, JPGS, PNG oder Gifs.

Icons sind immer etwas nervig, vor allem wenn nicht alle formate in einem Icon Dictionary liegen. Dann hat man nacher häufig 12 Dataien und mehr für ein Icon...

Aber ich schaue mal, was sich mit icon machen lässt...

(btw.wieviele pngs sind denn bei dir aus c:\ gekommen?
Ich habe es auf 3.851 Bilder gebracht...
private Nachricht | Beiträge des Benutzers
Khalid
myCSharp.de - Experte

Avatar #avatar-2534.gif


Dabei seit:
Beiträge: 3627
Herkunft: Hannover

beantworten | zitieren | melden

Bei mir ist er auf 4713 Bilder gekommen. Wobei alleine schon das Visual Studio 8 Verzeichnis unter Programme schon 2558 Bilder zu Tage gebracht hat :-)
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
private Nachricht | Beiträge des Benutzers
cadi
myCSharp.de - Member

Avatar #avatar-1786.jpg


Dabei seit:
Beiträge: 308
Herkunft: Hamburg

Themenstarter:

Update

beantworten | zitieren | melden

die neue version extrahiert nun auch Icons.

für jedes 16x16 icon wird auch ein Button extrahiert (falls eine icon-resource mehrere 16x16 icons enthält wird das mit den meisten farben genommen)

Extraktionsergebnis bei mir:
2.864 Icons
7.270 Bitmaps (16x16 transparent)

Ich überlege nun einen neuen ImageEditor für das VS2005 zu entwickeln. der bilder nach ähnlichkeit suchen kann. bei 7.270 Bildern wird das suchen sonst was ätzend...
Besteht da interesse dran? (z.b. alles, was folder-ähnlich ist?)
Das ganze würde nach Farb- und Texturähnlichkeit suchen (kombiniert oder getrennt).

Ich dachte daran, das dieser editor die bilder auch gleich im zielkontext (TreeView, ListView und ToolStrip) anzeigt, damit man sich ein besseres bild vom endergebnis machen kann...
Attachments
private Nachricht | Beiträge des Benutzers
Wolf_maYer
myCSharp.de - Member

Avatar #avatar-2284.jpg


Dabei seit:
Beiträge: 286
Herkunft: Bochum

beantworten | zitieren | melden

Ich sag nur mal danke

Gruß, maYer
private Nachricht | Beiträge des Benutzers
Khalid
myCSharp.de - Experte

Avatar #avatar-2534.gif


Dabei seit:
Beiträge: 3627
Herkunft: Hannover

beantworten | zitieren | melden

Ich sag dann auch mal danke =)

Das Tool erspart mir so einiges an Zeit, da ich sonst immer mit verschiedenen Tools die Icons, bzw. Bitmaps ausgelesen habe.

Ein Tool, das Images anhand seiner Ähnlichkeit aussortiert, bzw. suchen kann, wäre natürlich auch nicht schlecht :-)

Fehler: Eben ist mir der Grabber abgeraucht, als ich wieder komplett die C-Platte scannen wollte. Der hat sich zum Schluß an einer DLL festgebissen (CSSPKGUI.DLL). Ich lass den nochmal durchlaufen. Mal schauen, ob der wieder abraucht...

Edit3: Diesmal ist der Grabber schon eher abgeraucht, freundlicherweise diesmal auch mit (dürftiger) Fehlermeldung "Das Programm reagiert nicht" :-). Die DLL wo er sich diesmal dran aufgehängt hat, war wieder eine Win32-DLL, genau so wie beim ersten Mal.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
private Nachricht | Beiträge des Benutzers
cadi
myCSharp.de - Member

Avatar #avatar-1786.jpg


Dabei seit:
Beiträge: 308
Herkunft: Hamburg

Themenstarter:

beantworten | zitieren | melden

Muss ich mir mal anschauen...
Scheint da ein Zugriffs-/Rechteproblem zu geben... (Wahrscheinlich ist die DLL exkluisv geöffnet oder so was)
Was ich wundert ist, das die exception nicht abgefangen wird (ist eigentlich alles in einem Try-Catch Block um genau sowas zu verhindern (bei 16bit executables kommt z.B. auch eine exception. Die wird aber sauber abgefangen und es geht bei der nächsten datei weiter...)

blöd blöd....
private Nachricht | Beiträge des Benutzers