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?