![]() |
BRCC32 und PNG-Icons
Hallo!
Ich bin gerade auf ein altes Problem gestoßen, das mir Rätsel aufgibt. Ich habe mir ein Icon erstellt (.ico) in dem Grafik im PNG-Format enthalten ist. Wenn ich das in der Delphi-IDE über die Projektoptionen als Programmsymbol angebe, wird es problemlos akzeptiert. Wenn ich das selbe Icon dagegen in einer .rc-Datei angebe und diese .rc versuche mit BRCC32 zu kompilieren, dann bekomme ich:
Code:
In der .rc steht folgendes drin:
Error icon.rc 1 15: Allocate failed
Code:
Schaue ich aber in die Projektoptionen, dann wird dort genauso BRCC32 als Resourcencompiler verwendet. Also was macht die Delphi-IDE in dem Fall anders?
MAINICON ICON "mainicon.ico"
Im Netz findet man zu dem Problem eigentlich ausschließlich Workarounds in der Form, dass man einen anderen Resourcen-Compiler verwenden soll. Aber da es ja offensichtlich mit Delphi-Bordmitteln doch auch geht, würde ich gerne wissen wie - ohne externe Tools. Grüße Cody |
AW: BRCC32 und PNG-Icons
Soweit ich weiß kann man der IDE einen anderen linker zuweisen, also einem externen, das ist das bordmittel.
Lieg ich falsch dann sorry! Grüße |
AW: BRCC32 und PNG-Icons
Die IDE erstellt die .RES-Datei selber, zumindest war das früher so.
|
AW: BRCC32 und PNG-Icons
Zitat:
|
AW: BRCC32 und PNG-Icons
der fehler liegt bestimmt am compressed png, unkomprimiert müsste es klappen.
|
AW: BRCC32 und PNG-Icons
Ich konnte den Fehler inzwischen etwas eingrenzen. BRCC32 scheint nicht mit dem PNG-Format mit Alphatransparenzen Probleme zu haben wie ich zuerst dachte, sondern mit dem seit Windows Vista gebräuchlichen Format von 256x256 Pixeln. Wenn ich diesen Riesenklotz aus dem Icon lösche, dann kompiliert BRCC32 problemlos auch Alpha-PNGs zur RES. Das erklärt allerdings immer noch nicht, wie die IDE die entsprechende RES-Datei zusammenbauen kann selbst wenn das 256x256-Bild in der ICO enthalten ist.
|
AW: BRCC32 und PNG-Icons
BRCC
![]() |
AW: BRCC32 und PNG-Icons
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
PS: Ja, es ist das Icon von HeidiSQL :) Das ist das Projekt an dem ich grade dran bin. |
AW: BRCC32 und PNG-Icons
Soweit ich weiß, verwendet die IDE die cgrc.exe - auch wenn der Eintrag in den Projektoptionen etwas anderes vorgaukelt.
|
AW: BRCC32 und PNG-Icons
Zitat:
|
AW: BRCC32 und PNG-Icons
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 :) |
AW: BRCC32 und PNG-Icons
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 ![]() ![]() |
AW: BRCC32 und PNG-Icons
Zitat:
|
AW: BRCC32 und PNG-Icons
Zitat:
|
AW: BRCC32 und PNG-Icons
OT:
![]() |
AW: BRCC32 und PNG-Icons
Zitat:
|
AW: BRCC32 und PNG-Icons
Zitat:
|
AW: BRCC32 und PNG-Icons
Zitat:
|
AW: BRCC32 und PNG-Icons
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
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. |
AW: BRCC32 und PNG-Icons
Zitat:
![]() ![]() |
AW: BRCC32 und PNG-Icons
Zitat:
Ein Beispiel, das alle deine Aussagen ("144x144 Icons gehen immer", "BRCC kann keine PNGs der Größe 256x256") widerlegt, habe ich hochgeladen. Schau es dir doch einfach mal an. Also nochmal:
|
AW: BRCC32 und PNG-Icons
Anschauen geht erst Montag wieder. Ich würde es nicht ausschließen dass IcoFX beim Import von PNGs etwas transkodiert. Mich irritiert dabei aber der Alphakanal, der bei allen Bildern der ICO vorhanden ist. Soweit ich weiß hatten Bitmap- bzw. RIFF-basierte Icons keinen Alphakanal. Daher die Annahme, das es alles PNGs sind.
|
AW: BRCC32 und PNG-Icons
Ebenso wie normale Bitmaps lassen sich auch Bitmap-Icon-Entries als 32BPP abspeichern. Übrigens: In Windows XP haben praktisch alle Icons einen Alphakanal (sind also 32BPP), aber PNG-Icon-Entries waren damals (2001) noch nicht erfunden. Steht auch so in dem von dir verlinkten Wikipedia-Artikel:
Zitat:
|
AW: BRCC32 und PNG-Icons
Liste der Anhänge anzeigen (Anzahl: 1)
mein icon, null farben, 1bit, 8x8
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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