BMP laden

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: BMP laden

BeitragFr, Okt 21, 2005 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
mhh, lange drüber nachgedacht, aber würde sowas gehen?

bild=loadimage("http://www.bla.blabla.de/bild.BMP")


und wenn ja wie? denn ich habe alles mögliche versucht aber irgendwie gelang ich immer in einer sackgasse. währe cool wenn einer wüsste ob es geht und wenn ja wie!

Jan_

Ehemaliger Admin

BeitragFr, Okt 21, 2005 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
eventuell, aber sehr wahrscheinlich nicht.
ich würde es mit Gets machen, und dann es wieder zu ner Datei zusammen setzten.
between angels and insects

Chrisi

BeitragFr, Okt 21, 2005 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
du willst bilder aus dem internet laden?
wieso ladest du sie nicht zuerst auf die festplatte und dann lädst du sie wie gewohn. die dateien müssen so oder so übertragen werden Wink

Mathias-Kwiatkowski

BeitragFr, Okt 21, 2005 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
ja stimmt hast recht, nur wie kann ich es machen das er es downloadet?

ich habe es immer mit exec file gemacht, (download) , aber das soll ja automatisch gehen / ohne das man immer bestätigen muss

Chrisi

BeitragFr, Okt 21, 2005 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
siehe dir deinen ftpthread an! du findest genügend in der suche Wink
ich hbas auch dort gefunden Wink
 

Florian

BeitragFr, Okt 21, 2005 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

Graphics 640, 480, 0,2


Const BUFFER_SIZE = 65536

I=LoadImage(LoadWebFile(\"http://www.blitz-pasting.net/uploads/useruploads/qYpYJ45856652944477_komet.jpg\"))

DrawImage I,0,0

WaitKey
End




Function LoadWebFile$( srcFile$)
Local TCPStream, tmpPos, dataSize, tmpBank
Local Host$ = \"\", HTTPHeader$ = \"\"
Local Buffer = BUFFER_SIZE

If ( Left( srcFile$, 7 ) = \"http://\" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 )




tmpPos = Instr( srcFile$, \"/\" )

If ( tmpPos ) Then
Host$ = Left( srcFile$, tmpPos - 1 )
srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 )
Else
Host$ = srcFile$
srcFile$ = \"/\"
End If

LenS=Len(srcFile$)
For Pos=LenS To 1 Step -1
If Mid$(srcFile$,Pos,1)=\"/\" Then
dstFile$=Mid$(srcFile$,Pos+1)
Exit
End If
Next


TCPStream = OpenTCPStream( Host$, 80 )

If ( Not TCPStream ) Then
RuntimeError( \"Fehler beim verbinden zu: \" + Host$ )
End If

WriteLine( TCPStream, \"GET \" + srcFile$ + \" HTTP/1.1\" )
WriteLine( TCPStream, \"Host: \" + Host$ )
WriteLine( TCPStream, \"Accept: */*\" )
WriteLine( TCPStream, Chr$( 10 ) )

Repeat
HTTPHeader$ = ReadLine( TCPStream )

If ( Left( HTTPHeader$, 16 ) = \"Content-Length: \" ) Then
dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 )
End If
Until HTTPHeader$ = \"\" Or Eof( TCPStream )

If ( dataSize > 0 )
file = WriteFile( dstFile$ )
tmpBank = CreateBank( Buffer )
If ( Not file ) Then
RuntimeError( \"Fehler beim erstellen der Downloaddatei\" )
End If

bytesReaded = 0

Repeat
bytesRemaind = dataSize - bytesReaded

If ( bytesRemaind < BUFFER_SIZE ) Then
Buffer = bytesRemaind
End If

s = ReadBytes( tmpBank, TCPStream, 0, Buffer )
WriteBytes( tmpBank, file, 0, s )
bytesReaded = bytesReaded + s
Until s <> BUFFER_SIZE

CloseFile( file )
CloseTCPStream( TCPStream )
FreeBank( tmpBank )
Return dstFile$
End If
End Function


  • Zuletzt bearbeitet von Florian am Fr, Okt 21, 2005 15:10, insgesamt einmal bearbeitet

Jan_

Ehemaliger Admin

BeitragFr, Okt 21, 2005 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
@Florian, nicht schlecht.
schreibe das bitte gleich ins Code archiev!
between angels and insects
 

David

BeitragFr, Okt 21, 2005 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

BlitzBasic: [AUSKLAPPEN]

I=LoadImage(LoadWebFile(\"http://www.blitz-pasting.net/uploads/useruploads/qYpYJ45856652944477_komet.jpg\"))


Mach das LoadImage doch in LoadWebFile und gib den Handle zurück.
Auserdem solltest du hier NULL oder '0' zurückgeben:

BlitzBasic: [AUSKLAPPEN]

CloseFile( file )
CloseTCPStream( TCPStream )
FreeBank( tmpBank )
Return dstFile$
End If
Return 0 ;<----
End Function


grüße
 

Florian

BeitragFr, Okt 21, 2005 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
LoadWebFile gibt jetzt einen Handle zurück.


BlitzBasic: [AUSKLAPPEN]


Graphics 640, 480, 0,2


Const BUFFER_SIZE = 65536

I=LoadWebFile(\"http://www.blitz-pasting.net/uploads/useruploads/qYpYJ45856652944477_komet.jpg\")

DrawImage I,0,0

WaitKey
End




Function LoadWebFile( srcFile$)
Local TCPStream, tmpPos, dataSize, tmpBank
Local Host$ = \"\", HTTPHeader$ = \"\"
Local Buffer = BUFFER_SIZE

If ( Left( srcFile$, 7 ) = \"http://\" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 )




tmpPos = Instr( srcFile$, \"/\" )

If ( tmpPos ) Then
Host$ = Left( srcFile$, tmpPos - 1 )
srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 )
Else
Host$ = srcFile$
srcFile$ = \"/\"
End If

LenS=Len(srcFile$)
For Pos=LenS To 1 Step -1
If Mid$(srcFile$,Pos,1)=\"/\" Then
dstFile$=Mid$(srcFile$,Pos+1)
Exit
End If
Next


TCPStream = OpenTCPStream( Host$, 80 )

If ( Not TCPStream ) Then
RuntimeError( \"Fehler beim verbinden zu: \" + Host$ )
End If

WriteLine( TCPStream, \"GET \" + srcFile$ + \" HTTP/1.1\" )
WriteLine( TCPStream, \"Host: \" + Host$ )
WriteLine( TCPStream, \"Accept: */*\" )
WriteLine( TCPStream, Chr$( 10 ) )

Repeat
HTTPHeader$ = ReadLine( TCPStream )

If ( Left( HTTPHeader$, 16 ) = \"Content-Length: \" ) Then
dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 )
End If
Until HTTPHeader$ = \"\" Or Eof( TCPStream )

If ( dataSize > 0 )
file = WriteFile( dstFile$ )
tmpBank = CreateBank( Buffer )
If ( Not file ) Then
RuntimeError( \"Fehler beim erstellen der Downloaddatei\" )
End If

bytesReaded = 0

Repeat
bytesRemaind = dataSize - bytesReaded

If ( bytesRemaind < BUFFER_SIZE ) Then
Buffer = bytesRemaind
End If

s = ReadBytes( tmpBank, TCPStream, 0, Buffer )
WriteBytes( tmpBank, file, 0, s )
bytesReaded = bytesReaded + s
Until s <> BUFFER_SIZE

CloseFile( file )
CloseTCPStream( TCPStream )
FreeBank( tmpBank )
Return LoadImage(dstFile$)
End If
End Function




Zitat:

Auserdem solltest du hier NULL oder '0' zurückgeben:

BlitzBasic: [AUSKLAPPEN]

CloseFile( file )
CloseTCPStream( TCPStream )
FreeBank( tmpBank )
Return dstFile$
End If
Return 0 ;<----
End Function




Eine Function gibt immer ein 0 oder ein Leer String zurück, wenn nix anderes angegeben wurde.
Ich muss doch einer Function nicht sagen, das sie nix zurück geben muss.

bruZard

BeitragFr, Okt 21, 2005 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit BMax funktioniert sein Frage-Code Wink
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group