Seite 2 von 2
Re: Bilder versenden und empfangen
Verfasst: 24.06.2015 12:12
von stevie1401
Leider komme ich mit dem Beispiel nicht klar.
Kannst du bitte ein Bild LADEN und dann mal in einem Beispiel umwandeln?
Wie finde ich die Größe eine Bildes heraus? (SizeOfImage)
Re: Bilder versenden und empfangen
Verfasst: 24.06.2015 19:50
von HeX0R
Code: Alles auswählen
Procedure main()
Protected Image, ImageFile.s, *Buffer
ImageFile = OpenFileRequester("Select Jpg File", "test.jpg", "jpg (*.jpg)|*.jpg", 0)
If ImageFile
If ReadFile(0, ImageFile)
*Buffer = AllocateMemory(Lof(0))
If *Buffer
ReadData(0, *Buffer, Lof(0))
EndIf
CloseFile(0)
EndIf
EndIf
If *Buffer
a$ = EncodeImageToString(*Buffer, MemorySize(*Buffer))
;a$ ist der string, den wir zum client schicken
Debug a$
;So, nun sind wir beim client (ACHTUNG SIMULATION!), a$ ist angekommen
;Wir müssen das ganze also wieder zurückwandeln
Image = DecodeStringToImage(a$)
If Image
OpenWindow(0, 0, 0, ImageWidth(Image), ImageHeight(Image), "", #PB_Window_Tool | #PB_Window_SystemMenu)
ImageGadget(0, 0, 0, ImageWidth(Image), ImageHeight(Image), ImageID(Image))
While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
EndIf
FreeMemory(*Buffer)
EndIf
EndProcedure
Re: Bilder versenden und empfangen
Verfasst: 24.06.2015 20:21
von stevie1401
Alles klar - besten Dank!
Re: Bilder versenden und empfangen
Verfasst: 24.06.2015 20:27
von Sicro
Eigentlich ist es nicht gut, einen "fertigen Code" zu geben, aber ich finde sein Vorhaben als weiteres Beispiel für mein Modul "NetworkManager" passend.
Hier ein Beispiel für das Senden, Empfangen und Anzeigen von Bildern:
http://www.purebasic.fr/german/viewtopi ... 51#p330851
Re: Bilder versenden und empfangen
Verfasst: 27.06.2015 00:32
von stevie1401
Seitdem ich "EncodeImageToString(*Buffer, MemorySize(*Buffer))"
und
Image = DecodeStringToImage(a$)
benutze, möchte mein Linux vServer eine grafische Benutzeroberfläche haben.
Ich habe es mehrfach getestet. Nehme ich es raus, geht alles, mit dem en- und decoden geht es nicht.
Gibt es eine Möglichkeit den Code auf einem vServer zu benutzen?