AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Delphi Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

Ein Thema von Zacherl · begonnen am 28. Sep 2012 · letzter Beitrag vom 22. Nov 2016
Antwort Antwort
Seite 3 von 4     123 4   
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#21

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 2. Jan 2013, 20:49
Wenn du schon beim Überarbeiten bist könntest du nochmal nachsehen warum die 256 x 256 Pixel Icons nicht mit übernommen werden.
Hat bei mir funktioniert Habe getestet mit dem standard Delphi XE2 Icon.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
462 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 2. Jan 2013, 21:15
Bei mir hat es nicht funktioniert. Mal sehen ob ich noch etwas rausfinde woran es bei mir liegen könnte.
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
462 Beiträge
 
Delphi 10.4 Sydney
 
#23

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 6. Jan 2013, 15:48
Du hast recht, die 256 x 256 Icons werden tatsächlich hinzugefügt. Allerdings werden diese falsch gekennzeichnet. Anbei mal ein Screenshot vom Resourcenviewer. Hier sieht man, das das Icon zwar vorhanden ist, allerdings wird die Größe falsch gekennzeichnet mit 13 x 0 (Bild: Iconresourcen Zieldatei nach Verwendung der dxIconUtils.png).

Der andere Screenshot (Bild: Iconresourcen Quelldatei.png) zeigt die enthaltenen Iconresourcen der Quelldatei mit den passenden Größen.
Miniaturansicht angehängter Grafiken
iconresourcen-quelldatei.png   iconresourcen-zieldatei-nach-verwendung-der-dxiconutils.png  
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#24

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 6. Jan 2013, 16:47
Puh da scheint einiges schief zu gehen Ich schaue bei Gelegenheit mal, ob ich die Fehlerursache auf die Schnelle finde. Hast du mal im Debugger geschaut, ob der GroupIcon Header für das entsprechende 256px Icon korrekte Werte beinhaltet?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
462 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 6. Jan 2013, 20:33
Welche Werte müsste ich denn überprüfen? Ich steige durch deinen Code leider nicht wirklich durch.

[EDIT]
Ich habe mir mal die Werte für GroupHeader.idEntries[I].Width & GroupHeader.idEntries[I].Height in der SaveToResource-Funktion anzeigen lassen. Bei den Icons bis hin zu 48 x 48 Pixel stimmt der Wert. Beim 256 x 256 Pixel Icon werden wie schon im Screenshot zu sehen 13 x 0 Pixel angezeigt.

Geändert von ringli ( 6. Jan 2013 um 20:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#26

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 7. Jan 2013, 00:58
Alles klar, dann liegt der Fehler mit hoher Sicherheit schon in der Funktion, die das Icon läd. Kannst du mal probieren, das Icon als .ico Datei zu speichern? Tritt das Problem dann auch noch auf, oder nur dann, wenn das Icon aus einer Resource extrahiert wird?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
462 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 7. Jan 2013, 09:07
Interessant was jetzt zu Tage tritt. Lade ich das Icon direkt als 'ico'-Datei und speichere dies in die Resource erhalte ich im Resourcenviewer eine Größenangabe von 13 x 13 Pixel obwohl es in Wirklichkeit das 256 x 256 Pixel Icon ist. Die anderen Größen bis 48 x 48 Pixel sind nach wie vor in Ordnung.

Zitat:
Kannst du mal probieren, das Icon als .ico Datei zu speichern? Tritt das Problem dann auch noch auf, oder nur dann, wenn das Icon aus einer Resource extrahiert wird?
Das habe ich auch mal gemacht. Ich habe dann die Ico-Datei in IcoFX geladen und erhalte die Meldung "68 Bit Bilder werden nicht unterstützt!". Entsprechend wird das 256 x 256 Pixel Icon auch nicht in IcoFX angezeigt obwohl das Icon laut Resourcenviewer vorhanden ist.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#28

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 7. Jan 2013, 10:57
Wie ich grade gelesen habe, werden 256x256px Icons innerhalb der ICO Datei (oder Resource) als PNG abgelegt. Deshalb scheitert bei mir das Auslesen des Bitmap Headers. Um das zu Beheben, muss ich wohl einen kleinen Parser für den PNG Header schreiben, um die Maße und die Farbtiefe zu ermitteln. Der GroupIcon Header enthält diese Werte normalerweise auch, aber bei dem 256x256px Icon, sind diese auf 0 gesetzt, weshalb ich als Workaround die Werte direkt aus dem Bitmap Header ausgelesen habe.

Vermutlich sollen die 0 Werte indizieren, dass es sich um ein PNG Bild handelt. Wäre gut, wenn das jemand bestätigen könnte.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
462 Beiträge
 
Delphi 10.4 Sydney
 
#29

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 7. Jan 2013, 11:26
Also was ich bisher gesehen habe werden die großen Icons komprimiert abgelegt. Könnte durchaus sein das das intern als PNG erfolgt. Von daher wäre der Weg über den Parser vielleicht keine schlechte Idee.

[EDIT]
Ich habe mir mal grade eine entsprechende ICO Datei im Texteditor angesehen. Dort findet man auch die typische %PNG-Kennung für das PNG-Format.

Geändert von ringli ( 7. Jan 2013 um 11:29 Uhr)
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
462 Beiträge
 
Delphi 10.4 Sydney
 
#30

AW: Laden und Speichern von Icons (Icon Parser, für Icon Dateien oder Resourcen)

  Alt 12. Jan 2013, 16:31
Ich wollte mal fragen ob du schon die Zeit gefunden hast etwas an der Unit zu machen?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf