Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 04, 2025 22:34

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Bilder aus Ressourcen...
BeitragVerfasst: Do Okt 09, 2008 15:24 
Offline
DGL Member

Registriert: Do Sep 11, 2008 17:54
Beiträge: 41
Hi, bisher habe ich immer meine Bilder einfach so im Verzeichniss rumliegen gehabt.
Jetzt wollte ich da mal aufräumen und das ganze in ne Res packen.
Lief auch erst mal ganz gut.
Hab mich an die Anleitung gehalten: http://wiki.delphigl.com/index.php/Bilder_als_Ressourcen
Ich nehme den langen Weg mit Hintergrundwissen ;)
Als ich dann Bilder mit Transparentz hinzugefügt habe... Error...
Folgende Meldung bekomme ich:

Error Bilder.rc 34 22: Invalid bitmap format

Naja, sieht so aus als ob das ganze dann wohl mit Transparenten Bildern net klappt.
Gibt es da nen anderen Weg? (Ausser den Res-Editor)

mfg Cre@or

Edit:

Zitat:
Pfad zur Datei: ist selbsterklärend denke ich.
Kann sein, dass man Gänsefüsschen setzen muss, keine Ahnung - testen!


Für alle die es wissen wollen... mit Gänsefüsschen... sicher ist sicher...

Edit:

Vielleicht hilft es ja die Bilder in nen anderen Format zu Laden. Verwende derzeit Bmp's.
Aber irgendwie glaub ich da nicht dran das dass klappen könnte.
Naja, Versuch macht Kluch.


Zuletzt geändert von Cre@or am Do Okt 09, 2008 15:52, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 09, 2008 15:51 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Hatte das jetzt geklappt? Das Edit klingt für mich ein bisschen danach.

Wenn nein könnte es evtl. auch an den Resourcentyp BITMAP liegen. Der Resourcetyp BITMAP ist ein bisschen speziell. Dabei muss es sich auch wirklich um ein BMP handeln. Denn bei dem Resourcentyp wird stumpf der Header des Bildes weggelassen. Das geht bei anderen Formaten dann natürlich nicht. Ist in dem Artikel evtl. etwas verwirrend.

Und falls du die glBitmap benutzt, dann könntest du dir den Weg über den extra Stream sparen, da sie mittlerweile auch selber Resourcen laden kann. Wird dann intern so gelöst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 09, 2008 15:55 
Offline
DGL Member

Registriert: Do Sep 11, 2008 17:54
Beiträge: 41
Nee, das Edit war nur so. Wollt halt Hilfestellung geben *lol...

Edit:

Damit man sieht das bei mir auch alles mit rechten Dingen zugeht, hier mal ein Ausschnitt aus meiner RC:

Code:
  1. Fragezeichen1 BITMAP "C:\Dokumente und Einstellungen\Cre@or\Eigene Dateien\Projekte\OpenGL\Bildschirmschoner\Kugel\Fragezeichen1.bmp"


Kann es sein das die Button Quote, Code, Img usw... derzeit nicht recht funktionieren?
Schreibe alles per Hand.
Am Browser kann es wohl kaum liegen, Firefox 3.03, oder?

Edit:

Halt, merke grad es liegt am Add-On NoScript... das hat das ganze blockiert, so hab's für delphigl ausgeschalten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 09, 2008 18:52 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also die Zeile sieht soweit okay aus. Allerdings solltest du den Resourcename auch groß schreiben. Es gibt wohl Probleme, wenn du mit kleinen arbeitest. Das mit dem @ in dem Namen könnte evtl auch Probleme machen. Ansonsten kannste du natürlich auch den Editor aus dem Artikel ausprobieren. Das Ergebniss ist das Selbe. Nur die RC könnte man auch in einem Buildlauf benutzen oder so.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 10, 2008 07:36 
Offline
DGL Member

Registriert: Do Sep 11, 2008 17:54
Beiträge: 41
Ich hab's jetzt hinbekommen.
Eigentlich ne ziehmlich einfache Sache.
Ich habe die BMP's in PNG's umgewandelt.
Leider weiss ich nicht warum die res nicht die BMP's mit Tranparenz unterstützt.
Scheint wohl recht neu zu sein, jedenfalls erkannte die BMP's auch nur GIMP richtig mit denen ich die erstellt habe.
Naja, jetzt ersetzt man einfach BITMAP durch PortableNetworkGraphics (muss zusammengeschrieben werden, ansonsten Error) und die Dateiendung passt man noch an und fump, hat man seine Res.

mfg Cre@or


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 10, 2008 08:51 
Offline
DGL Member

Registriert: Do Sep 11, 2008 17:54
Beiträge: 41
Ja, ich benutze die glBitmap.
Möh?
Aber wie kann ich dieser jetzt sagen, hol mir die Bilder aus der Res?

mfg Cre@or

Edit:

Bzw. wie habe ich diese Zeile zu interpretieren?

Code:
  1. myStream := TResourceStream.Create(H, 'Fragezeichen1', RT_RCDATA);


Ist das so korreckt?
Oder was muss da hin wo Fragezeichen1 steht?
So habe ich zumindest die Datei in der Res benannt.
Und so habe ich das auch aus dem Wiki herausgelesen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 10, 2008 10:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
BMPs und Trasparenz. Ja BMPs können das offiziell eigentlich auch gar nicht. GIMP kann es. Die glBitmap auch. TBitmap aber nicht. Die Windows GDI eigentlich auch nicht. Die BMP Datei kann es laut Definition aber irgendwie schon. Alles sehr merkwürdig. Und ich würde da lieber auf TGA oder so etwas wechseln. Diese müssen es können und sind von der Datei her nicht komplexer.

Der Resourcetyp kann eine numerische Konstante oder ein Text sein. In der RC wird BITMAP bzw RCDATA als numerische Konstante interprettiert. Ist ein bissel bescheuert. BITMAP erzwingt aber wirklich Windows Bitmaps (BMPs). Weil die intern dann etwas anders abgelegt werden. Diese könntest du mit der glBitmap aber sowieso nicht laden. Als Text kannst du aber machen was du willst solange der nur aus Buchstaben, Zahlen und Unterstrichen besteht. Zu mindest sollte er das nur. Und wichtig NUR GROSSE BUCHSTABEN VERWENDEN. Windows findet Resourcen nicht, wenn sie kleine Namen haben.

Aber jetzt noch mal langsam zum Mitmeiseln.
- Du erstellst eine RC Datei.
Code:
  1. RES_NAME TEXTURES "C:\bild.tga"

- Diese RC Datei lässt du durch den Resourcecompiler laufen und der erstellt eine RES Datei. Wie im Artikel beschrieben.
- Die RES bindest in dein Projekt ein und kompilierst es.

Der ResourceStream ist ein Stream der eine Resource lädt. Wenn du die mit der glBitmap laden willst, dann musst du das Define GLB_DELPHI aktivieren. Dadurch werden die Methoden LoadFromResource und LoadFromResourceID aktiviert.
Code:
  1. var
  2.   Texture: TglBitmap;
  3. begin
  4.   Texture := TglBitmap.Create;
  5.   Texture.LoadFromResource(HInstance, 'RES_NAME', 'TEXTURES');

Das H oder HInstance in diesem Beispiel bezieht sich auf das Handle einer Binärdatei. Also wenn du eine DLL mit LoadLibrary lädst, dann bekommst du ein Handle zurück. Wenn du die Resourcen aus der DLL laden willst, dann musst du dieses Handle übergeben. HInstance ist das Handle einer Anwendung was auf sich selbst zeigt.

Wenn du als Typ RCDATA benutzt musst du anstelle des Namens ('TEXTURES') dann RT_RCDATA übergeben. Das ist dann eine numerische Konstante die in der RC automatisch zu einer Nummer wird. Das System mit den Resourcetypen ist meiner Meinung nach etwas krank.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 10, 2008 12:55 
Offline
DGL Member

Registriert: Do Sep 11, 2008 17:54
Beiträge: 41
So, habs hinbekommen.
Ich hab das ganze jetzt en bissel anders gemacht als es vielleicht sollte. Aber es funktioniert.
Das war ne ganz schöne Hirnknoterei...

mfg Cre@or

Edit: Noch mal vielen Dank, hab vor lauter Euforie das Bedanken vergessen...


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]