Bild in Programm einbinden?

Anfängerfragen zum Programmieren mit PureBasic.
Rockmaster
Beiträge: 105
Registriert: 28.04.2006 22:19

Bild in Programm einbinden?

Beitrag von Rockmaster »

Hi ich hab da so ein kleines Problem...
Und zwar wenn ich über Loadsprite ein Bild aufrufe muss die .exe-datei immer im gleichen ordner sein wie das bild und das nervt mich etwas...
gibt es eine möglichkeit das bild in die exe einzubinden?

P.S. Über import endimport hab ich es schon versucht kan aber eine fehlermeldung!
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ja, die Möglichkeit gibt es. Schau dir folgenden Code an:

Code: Alles auswählen

DataSection ;ab heir werden Bilder und andere Dateien eingebunden
   ?MeinBild: IncludeBinary "C:\Bla\Bli\Blub\Mein Bild.bmp"
EndDataSection

res=CatchImage(#PB_Any, ?MeinBild)
CatchImage() ist daselbe wie Loadimage, man muss stattdessen aber das Label des Bildes angeben.

Die Bilder selbst werden mit IncludeBinary eingebunden, innerhalb einer DataSection. Du musst einmalig nur den absoluten oder relativen Pfad zum Bild angeben.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Rockmaster
Beiträge: 105
Registriert: 28.04.2006 22:19

Beitrag von Rockmaster »

Ok danke ich werd nochmal in der hilfe genaueres darüber nachlesen!
Rockmaster
Beiträge: 105
Registriert: 28.04.2006 22:19

Beitrag von Rockmaster »

Geht das auf die selbe Weise wenn ich ein imagegadget benutze?
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Müsste gehen, du musst es nur zuvor laden.
Bild
Benutzeravatar
Xenos
Beiträge: 114
Registriert: 24.01.2006 20:33
Wohnort: Dresden(hin und wieder)
Kontaktdaten:

Beitrag von Xenos »

ähem... vielleicht habe ich das nicht richtig begriffen, aber der Code setzt doch voraus, dass die Datei irgendwo vorhanden ist, damit sie erstmal in die Datensektion geladen werden kann - soweit klar.

Aber wäre damit das Image so in die exe eingebunden, dass ich die Vorlagedatei nach dem ersten Durchlauf löschen könnte?

Ich vermute mal nicht, da die Datensektion daraus besteht, was dort als Bild eingeladen wird.

Und noch ne Frage: Wäre es dann nicht auch möglich Variablen in die Datensektion zu schreiben?

:?
gô ni itte wa gô ni shitagae.
(Wenn du in ein Dorf kommst, richte dich nach seinen Gepflogenheiten - jap. Sprichwort.)
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Hoho!

...ja, aber das Picture wird included, ist also innerhalb der .exe vorhanden und muss nicht mehr von extern nachgeladen werden...

Das heißt, die Datei muss beim Kompilieren auf dem genannten Pfad existieren, und danach kannste sie vergessen ;)

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Xenos hat geschrieben:Und noch ne Frage: Wäre es dann nicht auch möglich Variablen in die Datensektion zu schreiben?
:?
Ja , entweder mit dem Label einlesen oder ueber Restore und Read

Code: Alles auswählen

; variante 1
*a.long = ?var
debug *a\l

; variante 2
restore var
read b.l
debug b

End
DataSection
  var:
  Data.l = 505050505
EndDataSection
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

davon ab würde ich vermeiden, bilder zu früh zu löschen / überhaupt zu löschen.

ich persönlich würde jedes bild, das ich einbinde, auch noch als bilddatei aufbehalten.
schließlich leben wir nicht in den achzigern, deine festplatte hat doch mehr als 30MB.

außerdem kannst du bilder auch in untergeordnete verzeichnisse packen,
also
> wenn ich über Loadsprite ein Bild aufrufe muss die .exe-datei immer im gleichen ordner sein wie das bild und das nervt mich etwas...
trifft so nicht zu.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Xenos
Beiträge: 114
Registriert: 24.01.2006 20:33
Wohnort: Dresden(hin und wieder)
Kontaktdaten:

Beitrag von Xenos »

Ein paar MB sinds schon :mrgreen:

Ich frage hauptsächlich, weil ich dann ja die Bilder nicht mit weitergeben muss.

Wenn ich mich recht entsinne funktioniert dass ja auch mit Sounds...

Schon klasse, eine exe, alles drin :allright:
gô ni itte wa gô ni shitagae.
(Wenn du in ein Dorf kommst, richte dich nach seinen Gepflogenheiten - jap. Sprichwort.)
Antworten