bild in exe speichern

Für allgemeine Fragen zur Programmierung mit PureBasic.
Moxl
Beiträge: 150
Registriert: 26.10.2012 13:19

bild in exe speichern

Beitrag von Moxl »

Hallo an alle :allright:

ich habe folgendes Anliegen:

ich habe ein Fenster wo mehrere Images enthalten sind.
Für die Images werden ja die Bilddateien benötigt, welche jedesmal vorhanden sein müssenm, um die Images zu erstellen.
Jetzt hätte ich aber gerne nur die eine *.exe Datei ohne die anderen Bilddateien.
Kann man es irgendwie anstellen die Bilddateien in den Programmcode zu speichern, sodass man sie nichtmehr mit sich schleppen muss? :mrgreen:

vielen Dank schonmal im Vorraus :allright:
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: bild in exe speichern

Beitrag von RSBasic »

Selbstverständlich kann man das machen.
Einfach mit Hilfe von IncludeBinary deine Grafik einbinden. Um die eingebundene Grafik nutzen zu können, kannst du mit "?Sprungname" darauf zugreifen.

Beispiel für das Einbinden der Grafik:

Code: Alles auswählen

DataSection
  MyIcon:
    IncludeBinary "Images\Icon.ico"
EndDataSection
Beispiel für das Laden der eingebundenen Grafik:

Code: Alles auswählen

CatchImage(1, ?MyIcon)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Moxl
Beiträge: 150
Registriert: 26.10.2012 13:19

Re: bild in exe speichern

Beitrag von Moxl »

ahhh wunderbar :bounce:

und so schön einfach :mrgreen:


vielen dank :allright:
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: bild in exe speichern

Beitrag von derschutzhund »

Das Thema ist zwar schon etwas älter, aber doch immer noch aktuell!

Ich habe mein gif nun eingebunden mit:

Code: Alles auswählen

DataSection
  MyIcon:
  IncludeBinary "C:\PureBasic\3DP-VarioGCode\ws-logo.gif"
EndDataSection
und geladen mit

Code: Alles auswählen

CatchImage(1, ?MyIcon)
was mir nicht gelingt ist die Anzeige mit

Code: Alles auswählen

   url$="about:<html><body scroll='no' leftmargin='0' topmargin='0'><img src='1'></img></body></html>"
   SetGadgetText(WebView_1,url$)
Kann mir jemand sagen wie es angezeigt werden kann?

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: bild in exe speichern

Beitrag von RSBasic »

@derschutzhund
Willkommen zurück :allright:

Du versuchst, zwei verschiedene Sprachen (PB und HTML) zu mischen. Das geht nicht. Du kannst die Image-Nummer von PB nicht in HTML einfügen.
Du hast zwei Möglichkeiten:
1. Du speicherst die Grafik in das Temp-Verzeichnis (GetTemporaryDirectory()) und lädst die Grafik lokal:

Code: Alles auswählen

<img src="file:///..." />
2. Oder du erstellst einen Base64-String der Grafik und speicherst im DataSection ab. Diesen String kannst du im IMG-Tag einfügen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: bild in exe speichern

Beitrag von derschutzhund »

Willkommen zurück :allright:
Na das ist ja eine tolle Begrüßung! :D

So für mein Verständnis:
Bei jedem Programmstart würde dann aus der Exe heraus z.B. die Datei "ws-test.gif" auf der HD erzeugt die ich dann, wie bisher aus, über html anzeigen kann?
Das wäre absolut ok!

Ich müsste dann die Bilddatei z.B. mit SaveImage.. erzeugen lassen wobei es mir aber bis jetzt nicht gelingt:

Code: Alles auswählen

CatchImage(1, ?MyIcon)
   teststr$ = GetCurrentDirectory() + "ws-test.gif"
SaveImage(?MyIcon,teststr$)
oder auch

Code: Alles auswählen

CatchImage(1, ?MyIcon)
   teststr$ = GetCurrentDirectory() + "ws-test.gif"
SaveImage(1,teststr$)
erzeugt die Datei "ws-test.gif" nicht

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: bild in exe speichern

Beitrag von RSBasic »

LoadImage() kann kein Gif-Format lesen. Du musst deine eingebundene Datei manuell exportieren:

Code: Alles auswählen

EnableExplicit

If CreateFile(1, GetCurrentDirectory() + "ws-test.gif")
  WriteData(1, ?MyIcon, ?MyIconEnd-?MyIcon)
  CloseFile(1)
EndIf

DataSection
  MyIcon:
  IncludeBinary "C:\PureBasic\3DP-VarioGCode\ws-logo.gif"
  MyIconEnd:
EndDataSection
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: bild in exe speichern

Beitrag von derschutzhund »

Läuft!!!
:bounce:

Besten Dank!

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Antworten