Wie binde ich eine Grafikdatei fest in eine EXE ein?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
ZaPPa
Beiträge: 21
Registriert: 26.01.2005 22:46
Wohnort: Wuppertal, Germany
Kontaktdaten:

Wie binde ich eine Grafikdatei fest in eine EXE ein?

Beitrag von ZaPPa »

Also ich hab folgendes Problem:

Ich schreibe ein Datenbank Tool... im sogenannten "Über..." bzw. "About..." fenster soll nun neben einem kleinen text ein logo angezeigt werden!

da es sich um eine GIF datei handelt muss ich es erstma über die movie-funktionen laden... und damit es niemand verändert hab ichs mit der PB-pack routine gepackt....

so. ich würd das GIF File(von mir auch aus png, jpg, oder so) gern direkt direkt in der EXE haben damit sich die ladezeit verkürzt und die grafik datei noch besser geschützt ist

deshalb meine frage: Wie geht das???

MfG ZaPPa
Eine Person die immun gegen ein Minimum an Aluminium ist, hat eine Aluminiumminimumimmunität!
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

konvertier das Bild als PNG.

includebinary und catch* solltest du dir mal anschauen.

Ansonsten als Resource...
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
ZaPPa
Beiträge: 21
Registriert: 26.01.2005 22:46
Wohnort: Wuppertal, Germany
Kontaktdaten:

Beitrag von ZaPPa »

ok soweit bin ich inzwischen auch.... nur stürzt das seit dem immer ab...
Eine Person die immun gegen ein Minimum an Aluminium ist, hat eine Aluminiumminimumimmunität!
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

musst da auch ein DataSection und ein EndDataSection haben sonst denkt der Prozessor das Bild ist was ausführbares :D
Bild
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

>die grafik datei noch besser geschützt ist
Oh ja, damit ist sie bombensichr gesützt
>nur stürzt das seit dem immer ab...
Poste mal den Code.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
ZaPPa
Beiträge: 21
Registriert: 26.01.2005 22:46
Wohnort: Wuppertal, Germany
Kontaktdaten:

Beitrag von ZaPPa »

ok stürzt nimmer ab...

DataSection hat gefunzt... jetz zeigt er das bild aber nich an... :(

Code: Alles auswählen

UsePNGImageDecoder()
DataSection
  HelpLogo : IncludeBinary ("dbc.png")
EndDataSection

CatchImage(666,?HelpLogo)
so einma zum laden...

Code: Alles auswählen

      StartDrawing(WindowOutput())
       DrawImage(666,10,10)
      StopDrawing()
und das zum anzeigen....
>die grafik datei noch besser geschützt ist
Oh ja, damit ist sie bombensichr gesützt
damit mein ich nur das nich jeder daran kommt... nich das es für NIEMANDEN erreichbar is....
Eine Person die immun gegen ein Minimum an Aluminium ist, hat eine Aluminiumminimumimmunität!
ZaPPa
Beiträge: 21
Registriert: 26.01.2005 22:46
Wohnort: Wuppertal, Germany
Kontaktdaten:

Beitrag von ZaPPa »

ok habs geschafft! ganz allein :P

Code: Alles auswählen

UsePNGImageDecoder()
DataSection
  HelpLogo : IncludeBinary ("dbc.png")
EndDataSection

HelpLogo = CatchImage(1,?HelpLogo)
das is die lade funktion

und zum anzeigen einfach nur

Code: Alles auswählen

ImageGadget(0,10,10,160,310,HelpLogo)

trotzdem danke an alle!
Eine Person die immun gegen ein Minimum an Aluminium ist, hat eine Aluminiumminimumimmunität!
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Hast du den PNG-Decoder vergessen, oder wo lag nun der Fehler?
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

oder wo lag nun der Fehler?

Code: Alles auswählen

StartDrawing(WindowOutput()) 
DrawImage(666,10,10);<- Hier, richtig wäre  DrawImage(UseImage(666) ,10,10) oder ImageID()
StopDrawing() 
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Grafik in EXE

Beitrag von Hroudtwolf »

Also bei meinem ZX81(das was so um 1985) hab ich das so gemacht.

[c]
PRINT "############"
PRINT "##++++++++##"
PRINT "##+##++##+##"
PRINT "##+##++##+##"
PRINT "##++++++++##"
PRINT "##+##++##+##"
PRINT "##+######+##"
PRINT "##++++++++##"
PRINT "############"
[/c]
Antworten