AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

BRCC32 und PNG-Icons

Ein Thema von Codehunter · begonnen am 24. Jan 2018 · letzter Beitrag vom 26. Jan 2018
Antwort Antwort
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.160 Beiträge
 
Delphi 2009 Professional
 
#1

AW: BRCC32 und PNG-Icons

  Alt 24. Jan 2018, 12:32
BRCC weiß überhaupt nicht, was eine PNG-Datei ist und speichert sie deshalb wie jede andere unbekannte Datei (RT_RCDATA) ab, was völlig selbstverständlich problemlos klappt. Bitmap, Icon/Cursor sowie RIFF-ANI sind die einzigen Grafikformate, die für die RES ein anderes als das originale Format vorsehen, weshalb sich der Compiler nicht inhaltlich um Sachen wie PNG kümmern muss.
Tja wär ja schön wenns so wäre. Ist es aber nicht. Probiert es selbst aus. Ich habe die betreffenden Dateien als ZIP angehängt. Die beiden Varianten unterscheiden sich nur dadurch, dass in mainicon.ico eine zusätzliche Version mit 256x256 Auflösung enthalten ist und in mainicon2.ico nicht.
Dein Projekt enthält keine PNG-Datei. Eine PNG in einer Icondatei ist immer noch eine Icondatei, die vom Ressourcenkompiler in diverse Bilddateien (Bitmaps und eben eine PNG) zerlegt wird, die jeweils als RT_ICON (auch: Icon Entry) eingebunden werden. Auch generiert er ein RT_GROUP_ICON mit Verweisen auf diese. Die Einbindung einer PNG-Datei als RT_ICON, das wie erwähnt anders RT_RCDATA oder ein (technisch identischer) benutzerdefinierter String-Typ eigentlich eine Veränderung der Ressource benötigt, ist dem BRCC für PNG unbekannt (korrekt wäre: keine Veränderung, anders als Bitmap-Icon-Entries, die verändert werden müssen), das Ding ist schließlich seit 19 Jahren nicht mehr angefasst worden.
Janni
2005 PE, 2009 PA, XE2 PA

Geändert von Redeemer (24. Jan 2018 um 12:36 Uhr)
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: BRCC32 und PNG-Icons

  Alt 24. Jan 2018, 13:54
Das hat nichts mit PNG zu tun. Die hast du ja schon in ein ICO umgewandelt, von daher kann BRCC32 nix von PNG's wissen

Das Problem ist wirklich die 256*256 Größe, mit der BRCC32 nicht klarkommt (das Problem hatte ich auch schon).

Verwende stattdessen den von Uwe erwähnten cgrc.exe oder RC.EXE. Damit tuts
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#3

AW: BRCC32 und PNG-Icons

  Alt 24. Jan 2018, 15:04
Warum sollte BRCC32 nichts von PNG wissen können?

PNG ist ja nicht "nur" die Dateiendung, sondern ein Kompressionsformat. Und ICO ist ein Container, dessen Inhalte im Falle von 256x256 seit Windows Vista optional im PNG-Format kompriminiert sein können.

Die Größe ist also insofern schuld, als das bei dieser Größe PNG eine Option ist. Und Pre-Vista Software bei dieser Größe aber keine PNG-komprimierte Daten erwartet.

Siehe Englische Wikipedia zu PNG, deutsche Wikipedia zu ICO
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.160 Beiträge
 
Delphi 2009 Professional
 
#4

AW: BRCC32 und PNG-Icons

  Alt 25. Jan 2018, 22:46
Warum sollte BRCC32 nichts von PNG wissen können?

PNG ist ja nicht "nur" die Dateiendung, sondern ein Kompressionsformat. Und ICO ist ein Container, dessen Inhalte im Falle von 256x256 seit Windows Vista optional im PNG-Format kompriminiert sein können.
Weil das Teil von 1999 ist und damals keine PNG-Icons existierten. Bei der Aufspaltung zur Erstellung in Group-Icons und bei den einzelnen Bitmap-Icon-Entries wird eine aktive Anpassung durchgeführt. Der BRCC32 weiß nicht, wie die Anpassung bei PNG-Icon-Entries aussehen soll (Antwort: es gibt keine), daher ist er irritiert.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#5

AW: BRCC32 und PNG-Icons

  Alt 26. Jan 2018, 10:36
Weil das Teil von 1999 ist und damals keine PNG-Icons existierten. Bei der Aufspaltung zur Erstellung in Group-Icons und bei den einzelnen Bitmap-Icon-Entries wird eine aktive Anpassung durchgeführt. Der BRCC32 weiß nicht, wie die Anpassung bei PNG-Icon-Entries aussehen soll (Antwort: es gibt keine), daher ist er irritiert.
Das stimmt nicht ganz. BRCC32 kriegt das mit den PNGs ja durchaus auf die Reihe, nur halt nicht in der Größe 256x256 Pixel. Mein altgedienter XN Resource Editor (auch ein in Delphi geschriebenes Programm) hat mit den 256ern auch seine liebe Not und stürzt ab. Bei kleineren PNGs werden sie immerhin als RCDATA angezeigt.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.160 Beiträge
 
Delphi 2009 Professional
 
#6

AW: BRCC32 und PNG-Icons

  Alt 26. Jan 2018, 12:23
Weil das Teil von 1999 ist und damals keine PNG-Icons existierten. Bei der Aufspaltung zur Erstellung in Group-Icons und bei den einzelnen Bitmap-Icon-Entries wird eine aktive Anpassung durchgeführt. Der BRCC32 weiß nicht, wie die Anpassung bei PNG-Icon-Entries aussehen soll (Antwort: es gibt keine), daher ist er irritiert.
Das stimmt nicht ganz. BRCC32 kriegt das mit den PNGs ja durchaus auf die Reihe, nur halt nicht in der Größe 256x256 Pixel.
Das ist Blödsinn.
Entweder habe ich einen anderen Thread gelesen oder es ging hier zu keiner Zeit um PNG-Dateien mit der Größe 256x256. Diese werden nämlich problemlos eingebunden. Wer's nicht glaubt, Minimalprojekt ist angehängt.
In diesem Thread geht es um Windows-Vista-Icondateien. Die kann man auch in der Größe 144x144 erstellen, dann kommt derselbe Fehler wie im Eröffnungspost (allocate failed), weil es eben eine Windows-Vista-Icondatei ist und der BRCC32 aus dem Jahre 1999 nicht weiß, was eine Windows-Vista-Icondatei ist. Minimalprojekt ist ebenfalls angehängt, entsprechende Zeile auskommentieren.
Angehängte Dateien
Dateityp: 7z Icontest.7z (82,8 KB, 3x aufgerufen)
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#7

AW: BRCC32 und PNG-Icons

  Alt 26. Jan 2018, 18:39
Das ist Blödsinn.
Entweder habe ich einen anderen Thread gelesen oder es ging hier zu keiner Zeit um PNG-Dateien mit der Größe 256x256. Diese werden nämlich problemlos eingebunden. Wer's nicht glaubt, Minimalprojekt ist angehängt.
In diesem Thread geht es um Windows-Vista-Icondateien. Die kann man auch in der Größe 144x144 erstellen, dann kommt derselbe Fehler wie im Eröffnungspost (allocate failed), weil es eben eine Windows-Vista-Icondatei ist und der BRCC32 aus dem Jahre 1999 nicht weiß, was eine Windows-Vista-Icondatei ist. Minimalprojekt ist ebenfalls angehängt, entsprechende Zeile auskommentieren.
Achte bitte auf deinen Tonfall. Das Problem der 256er Icons habe ich bereits auf Seite 1 des Threads angesprochen. Zur Bearbeitung/Erstellung des mainicon.ico verwende ich das altehrwürdige Programm IcoFX (genaue Version müsste ich Montag nachschauen). Ich nehme die Original-ICO aus dem HeidiSQL Sourcepaket und die Original-RC aus dem selben Paket. BRCC32 wirft beim Kompilieren dieser RC besagten Fehler. Nehme ich IcoFX und lösche nur das 256er Bild aus der ICO, belasse ansonsten alles so wie es ist, dann kompiliert BRCC32 das ICO problemlos zur RES. Das gilt auch, wenn ich andere Bildgrößen wie 128x128 oder 144x144 anlege. Bei mir verschluckt sich BRCC32 tatächlich nur mit 256er Bildern. Wenn man deiner 1999-Logik folgt, dürfte es eigentlich überhaupt keine PNG-Dateien kompilieren. Denn die kamen überhaupt erst 2007 mit Windows Vista in den Standard (laut Wikipedia).
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort


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 +1. Es ist jetzt 01:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz