Seite 1 von 1
bild in exe speichern
Verfasst: 15.08.2014 21:13
von Moxl
Hallo an alle
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?
vielen Dank schonmal im Vorraus

Re: bild in exe speichern
Verfasst: 15.08.2014 21:18
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:
Re: bild in exe speichern
Verfasst: 15.08.2014 21:32
von Moxl
ahhh wunderbar
und so schön einfach
vielen dank

Re: bild in exe speichern
Verfasst: 25.06.2016 12:39
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
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
Re: bild in exe speichern
Verfasst: 25.06.2016 12:44
von RSBasic
@derschutzhund
Willkommen zurück
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:
2. Oder du erstellst einen Base64-String der Grafik und speicherst im DataSection ab. Diesen String kannst du im IMG-Tag einfügen.
Re: bild in exe speichern
Verfasst: 25.06.2016 13:35
von derschutzhund
Willkommen zurück

Na das ist ja eine tolle Begrüßung!
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
Re: bild in exe speichern
Verfasst: 25.06.2016 13:43
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
Re: bild in exe speichern
Verfasst: 25.06.2016 13:56
von derschutzhund
Läuft!!!
Besten Dank!
LG
Wolfgang