Bild aus dem Netz laden

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

Pummelie

Betreff: Bild aus dem Netz laden

BeitragSo, Dez 06, 2009 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal eine kleine Funktion die ein bild aus dem internet läd.

BlitzBasic: [AUSKLAPPEN]
Function LoadOnlineImage(server$,datei$,port=80)
Local tcp=OpenTCPStream(server$,port),li$,size,file,image,filename$
If tcp=0 Then
Select(Lower$(Left$(server$,4)))
Case("http")
server$=Right$(server$,Len(server$)-7)
tcp=OpenTCPStream(server$,port)
If tcp=0 Then Return 0
Default
Return 0
End Select
EndIf
WriteLine(tcp,"GET "+datei$+" HTTP/1.0")
WriteLine(tcp,"HOST: "+server$)
WriteLine(tcp,"")
Repeat
li$=ReadLine$(tcp)
Select li$
Case ""
Default
Select li$
Case "HTTP/1.1 200"
Exit
Case "HTTP/1.1 200 OK"
Exit
Case "HTTP/1.0 200"
Exit
Case "HTTP/1.0 200 OK"
Exit
Case "HTTP/1.1 404 Not Found"
Return(-2)
Case "HTTP/1.1 404"
Return(-2)
Case "HTTP/1.0 404 Not Found"
Return(-2)
Case "HTTP/1.0 404"
Return(-2)
Default
Return 0
End Select
End Select
Forever
Repeat
li$=ReadLine$(tcp)
If Left$(li$,15) = "Content-Length:" Then
size=Right$(li$,Len(li$)-15)
EndIf
If li$ = "" Then Exit
Forever
If size=0 Then Return(-1)
Select Lower$(Right$(datei$,3))
Case "png"
file=WriteFile("tmp.png")
filename="tmp.png"
Case "jpg"
file=WriteFile("tmp.jpg")
filename="tmp.jpg"
Case "bmp"
file=WriteFile("tmp.bmp")
filename="tmp.bmp"
Case "tga"
file=WriteFile("tmp.tga")
filename="tmp.tga"
Default
Return(-1)
End Select
Local bank=CreateBank(size)
ReadBytes(bank,tcp,0,size)
WriteBytes(bank,file,0,size)
CloseFile(file)
CloseTCPStream(tcp)
image = LoadImage(filename)
DeleteFile(filename)
Return(image)
End Function


Wozu ist das gut?
Der Vorteil liegt darin, das man ein bild aus dem internet wie mit Loadimage laden kann.

Was brauch ich?
Einen einfachen Webspace.
Diesen bekommt man kostenlos bei vielen Anbietern, z.b. bplaced oder ohost.
Einfach mal danach googeln.

Parameter
Der Parameter server muss den server auf dem das bild liegt enthalten, z.b. www.blitzforum.de
Der Parameter datei beinhaltet den Pfad zur datei, z.b. /ich.bmp oder /resource/images/I/icke.jpg
Der Parameter port muss angegeb werden wenn der server nicht auf dem standart web port läuft.

Rückgabewert
Wenn 0 zurückgegen wird, konnte keine verbindung zur adresse hergestellt werde.
Wird -1 zurückgeliefert, hat das bild ein Format das nicht geöffnet werden kann
Sollte -2 zurückgeliefert werden, antwortet der server, das die datei nicht vorhanden ist.
Jeder andere wert ist die speicheradresse des Bildes.

Anmerkung
Kritiker und Fehlersucher erwünscht Wink
It's done when it's done.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group