Seite 2 von 6

Verfasst: 23.11.2006 19:44
von bobobo

Code: Alles auswählen

UseJPEGImageEncoder()
UsePNGImageEncoder()

If LoadImage(0, "c:\i.bmp")
SaveImage(0,"C:\i.jpg",#PB_ImagePlugin_JPEG,10) ; <<- Qualität hoch
SaveImage(0,"C:\i.png",#PB_ImagePlugin_PNG)
SaveImage(0,"C:\inew.bmp")
EndIf

Verfasst: 27.01.2007 12:17
von kiki
ooooooh, ich habe dass jetzt bei PB 4.02 veruscht, aber dass klappt nicht: Endweder die Datei wird garnicht gesendet :? oder sie wird nicht richtig empfangen. :mrgreen:

Server:

Code: Alles auswählen

SendNetworkString(ClientID, "Desktops")
      Delay(44)
      Repeat 
      jha = ReceiveNetworkFile(ClientID, "C:\tsstj.png")
      Delay(5)
      Until jha <> 0
      Delay(100)
      UsePNGImageDecoder()
      UsePNGImageEncoder()
image = LoadImage(#PB_Any,"C:\tsstj.png") 
If Not image 
   Debug image
 EndIf 
If Not SaveImage(image,"C:\tsstm.bmp",#PB_ImagePlugin_BMP, 10)
   End 
EndIf
      LoadImage(3, "C:\tsstm.bmp" , 0)
      If  OpenWindow(0, 1, 1, 1050, 730, "Test" , #PB_Window_BorderLess |  #PB_Window_Maximize, 0) 
      StickyWindow(0, 0)
      If CreateGadgetList(WindowID(0))
      ImageGadget(200, 1, 1, 1, 1, ImageID(3) , 0)
      Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
      EndIf
      EndIf 
      EndIf 

Client:

Code: Alles auswählen

 If Datenpuffer = "Desktops"
 Repeat 
 RunProgram("C:\Windows\System\loli.exe")
 Delay(1100)
 UsePNGImageEncoder() 
 UsePNGImageDecoder() 
 image = LoadImage(#PB_Any,"C:\Windows\gsm.bmp") 
 If Not image 
   End 
 EndIf 
 If Not SaveImage(image,"C:\mss.png",#PB_ImagePlugin_PNG)
   End 
 EndIf 
 Delay(500) 
 Repeat
 m = SendNetworkFile(ConnectionID, "C:\mss.png")
 Delay(100)
 Until m <> 0
 Delay(500)
 Until lol = 4
 EndIf 

Verfasst: 27.01.2007 12:52
von Kaeru Gaman
ooooooh, hattest du denn vorher das laden / speichern / formatändern auf einem rechner hinbekommen?

uuuuund hast du vorher mal ein senden / empfangen mit nem einfachen string hinbekommen?

PS:
dein Spy-Programm wirst du so nicht hinbekommen.
1) die datenmenge eines desktopscreenshot ist zu groß.
2) das komprimieren dauert zu lange und
3) bekommst du das niemals annähernd auf realtime
und selbst wenn du es beinahe schaffst wird
4) die CPU des gespyten rechners dadurch derart hoch belastet,
dass man ihn ständig neu booten wird und dann den service rufen,
um herauszufinden, welcher unliebsame prozess da so aasig viel CPU frisst.
;)

Verfasst: 27.01.2007 12:57
von kiki
Ja, vorher ging alles!!
Dann hatte ich aber Probleme nachdem ich mir PB 4.02 heruntergeladen habe.

Es kann auch sein, dass ich in der Zeit als ich versucht habe den Code su Reparieren es noch schlimmer gemacht habe.

Edit: Ich will kein Spy-Programm machen. /:->

Verfasst: 27.01.2007 13:04
von Kaeru Gaman
eigentlich können zusätzliche "bugs" nur dann auftreten,
wenn du einen Bug der 4.00-version ausgenutzt hattest,
und dieser in 4.02 behoben wurde.

hast du viele userlibs installiert?
...da kann es auch manchmal klemmen... muss aber nich sein...


ansonsten blick ich nicht genug durch bei deinem code, um nen fehler zu finden,
ich hab mich halt noch nicht groß mit network-geschichten auseinandergesetzt...

Verfasst: 27.01.2007 13:12
von kiki
Also ich habe nur eine Prozess-Lib auf meinem PC mehr nicht.

Edit: 1. Der Code sendet einen String
2. Wenn dieser empfangen wird, wird eine .exe geöffnet die ein bild macht und es als gsm.bmp speichert.
3. Dieses Bild wird in ein .PNG Bild umgewandelt und gesendet
4. Die empfangene Datei wird wieder in ein .BMP Bild umgewandelt und geladen.

Edit: Der Fehler liegt warscheinlich beim Senden, die .PNG Datei ist erst 30 Kb groß und da wo sie gespeichert wird nurnoch 16 KB.

Verfasst: 28.01.2007 14:37
von Msh13v
Ich finde dass auch alles kompliziert aber vielleicht liegt es ja an der Send-Schleife.

Verfasst: 28.01.2007 15:54
von kiki
Da muss ein Experte ran :lol: <)
Hier nochmal der Code:

Server:

Code: Alles auswählen

SendNetworkString(ClientID, "Desktops") 
      Delay(44) 
      Repeat 
      jha = ReceiveNetworkFile(ClientID, "C:\tsstj.png") 
      Delay(5) 
      Until jha <> 0 
      Delay(100) 
      UsePNGImageDecoder() 
      UsePNGImageEncoder() 
image = LoadImage(#PB_Any,"C:\tsstj.png") 
If Not image 
   Debug image 
 EndIf 
If Not SaveImage(image,"C:\tsstm.bmp",#PB_ImagePlugin_BMP, 10) 
   End 
EndIf 
      LoadImage(3, "C:\tsstm.bmp" , 0) 
      If  OpenWindow(0, 1, 1, 1050, 730, "Test" , #PB_Window_BorderLess |  #PB_Window_Maximize, 0) 
      StickyWindow(0, 0) 
      If CreateGadgetList(WindowID(0)) 
      ImageGadget(200, 1, 1, 1, 1, ImageID(3) , 0) 
      Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow 
      EndIf 
      EndIf 
      EndIf  
Client:

Code: Alles auswählen

If Datenpuffer = "Desktops" 
 Repeat 
 RunProgram("C:\Windows\System\loli.exe") 
 Delay(1100) 
 UsePNGImageEncoder() 
 UsePNGImageDecoder() 
 image = LoadImage(#PB_Any,"C:\Windows\gsm.bmp") 
 If Not image 
   End 
 EndIf 
 If Not SaveImage(image,"C:\mss.png",#PB_ImagePlugin_PNG) 
   End 
 EndIf 
 Delay(500) 
 Repeat 
 m = SendNetworkFile(ConnectionID, "C:\mss.png") 
 Delay(100) 
 Until m <> 0 
 Delay(500) 
 Until lol = 4 
 EndIf  

Verfasst: 28.01.2007 16:22
von ZeHa
Wieso postest Du den jetzt nochmal? Da hat sich doch überhaupt nix dran geändert?! :freak:

Wäre vielleicht praktisch, wenn Du den mal rein optisch ein wenig besser gliederst, die ganzen Einrückungen sind x-beliebig. Wenn man das ganze besser lesen könnte (und die Variablen keine Namen wie "lol" hätten), dann könnte man Dir sicherlich auch ein bißchen besser helfen.

Und es wäre ganz praktisch, wenn Du kurz in 3-4 Sätzen erläuterst, WAS Du genau vorhast.

Verfasst: 28.01.2007 16:41
von kiki
1. Oben ist erläutesrt was der Code macht.
2. Ich habe den Gepostet weil man dann nichtmehr auf Seite2 Suchen muss.