Bilder versenden und empfangen

Für allgemeine Fragen zur Programmierung mit PureBasic.
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Bilder versenden und empfangen

Beitrag 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)
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Bilder versenden und empfangen

Beitrag 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
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Bilder versenden und empfangen

Beitrag von stevie1401 »

Alles klar - besten Dank!
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Sicro
Beiträge: 963
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Bilder versenden und empfangen

Beitrag 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
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Bilder versenden und empfangen

Beitrag 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?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Antworten