Image in Quellcode importieren (per Datafields)

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

OJay

Betreff: Image in Quellcode importieren (per Datafields)

BeitragFr, Jan 02, 2004 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
da wir das noch nicht haben, im neuen codearchiv, hol ich das mal nach. ist schließlich essentiell...

erzeugt automatisch den wiederherstellungsalgorythmus und öffnet den erzeugt quellcode in notepad, sodass man sich das gleich in seine programme pasten kann.

hf

BlitzBasic: [AUSKLAPPEN]
;enter your imagefilename here:
Image$=\"icon_mycomputer.bmp\"


img=LoadImage(Image)
file=WriteFile(SystemProperty(\"TEMPDIR\")+Image$+\".bb\")

;remove fileending
For i=1 To Len(Image$) Step 1
If Mid(Image$,i,1)=\".\" Then Exit
filename$=filename$+Mid(Image$,i,1)
Next

;begin data-field
WriteLine file,\".\"+filename$
WriteLine file,\"Data \"+ImageHeight(img)+\",\"+ImageWidth(img)

;create data-field
For y = 0 To ImageHeight(img)-1
textline$=\"Data \"
For x = 0 To ImageWidth(img)-1
If x = ImageWidth(img)-1 komma$=\"\" Else komma$=\",\"
textline$=textline$+Str(ReadPixel(x, y, ImageBuffer(img)))+komma$
Next
WriteLine file,textline$
Next

;write restore algorythmn
WriteLine file,\"\"
WriteLine file,\"Restore \"+filename
WriteLine file,\"Read imgHeight,imgWidth\"
WriteLine file,filename$+\"= CreateImage(imgWidth,imgHeight)\"
WriteLine file,\"For y = 0 To imgHeight-1\"
WriteLine file,\" For x = 0 To imgWidth-1\"
WriteLine file,\" Read RGB\"
WriteLine file,\" WritePixel x, y, RGB, ImageBuffer( \"+filename$+\" )\"
WriteLine file,\" Next\"
WriteLine file,\"Next\"

;clean up
CloseFile file
FreeImage img

;open file within notepad for copy-pasting
ExecFile \"notepad.exe \"+SystemProperty(\"TEMPDIR\")+Image$+\".bb\"
End

Slayer

BeitragFr, Jan 02, 2004 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Interpretier ich das richtig?

Du liest die pixel aus, schreibst es in eine Datei als Data 22,223,3,.......

und das ganze kann man dann in den Code kopieren und mit Compilieren,
so das man nur noch die exe hat?



Sorry, das geht in die hose Sad , mit kleinen bildern gehts wehe es sind grössere dateien.

Da wird aus Deinem Code schnell ein 100mb Monster.
Die Idee hatte ich auch schon und ging in die hose.
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version
 

OJay

BeitragFr, Jan 02, 2004 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
es ist selbstverständlich nur für kleinere bilder geeignet...im schnitt ist die zu compilierende datenmenge 4mal so groß, wie das ausgangsmaterial im bmp format.

aber für icons oder gui grafiken ist sowas ideal. zumal man ja die exe mit upx wieder verkleinern kann Wink

Slayer

BeitragSa, Jan 03, 2004 0:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, einverstanden Laughing

Aber die Idee ansich hat schon was Exclamation
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group