Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi screenshot in stream speichern (https://www.delphipraxis.net/28295-screenshot-stream-speichern.html)

the_seed 22. Aug 2004 21:19


screenshot in stream speichern
 
hi habel mal ne frage, ist es möglich einen screen in nem stream zu speichern mit idtcp zu übertragen in nem img wieder zugeben?
bzw wie lange würd da eine übertragung dauern?


[edit] das es m öglich ist weiss ich aber ist es m öglich live zu senden oder würd das die ganze verbindung lahmlegen ?[/editz]

Luckie 22. Aug 2004 21:32

Re: screenshot in stream speichern
 
TBitmap kennt die Methode Delphi-Referenz durchsuchenSaveToStream. Alles klar? ;)

the_seed 22. Aug 2004 21:37

Re: screenshot in stream speichern
 
Zitat:

Zitat von Luckie
TBitmap kennt die Methode Delphi-Referenz durchsuchenSaveToStream. Alles klar? ;)

ich weiss schon wei man ein file in nem stream speichert nur ist bitmap nicht zu gross? das würd ja ewig dauern... :gruebel:
da würde man ja ne bandbrfeite von 2mbit brauchen um da live zu senden ^^

habe es mit jpg versucht dauert aber bei mir (ISDN) seehr lange => 1 bild ca. 30 sek..

Tubos 22. Aug 2004 21:38

Re: screenshot in stream speichern
 
Zitat:

bzw wie lange würd da eine übertragung dauern?
zu lange um damit einen pc ordentlich zu überwachen.
Hier im Forum suchenRemote Control
gibt auch freeware dafür...es sei denn, du willst es wirklich selbst machen.

the_seed 22. Aug 2004 21:40

Re: screenshot in stream speichern
 
Zitat:

Zitat von Tubos
Zitat:

bzw wie lange würd da eine übertragung dauern?
zu lange um damit einen pc ordentlich zu überwachen.
Hier im Forum suchenRemote Control
gibt auch freeware dafür...es sei denn, du willst es wirklich selbst machen.

ich wills klar selber machen sonst würd ich nicht fragen ;)
habe schon alles abgesucht aber in der richtung nicht sehr viel gefunden..

Tubos 22. Aug 2004 21:43

Re: screenshot in stream speichern
 
Zitat:

ich wills klar selber machen sonst würd ich nicht fragen
ok

Zitat:

habe es mit jpg versucht dauert aber bei mir seehr lange 1 bild ca. 30 sek..
ja, sowas musst du dann in kauf nehmen :stupid:
nein im ernst, 30 sekunden??
ich hatte eher an 1 oder 2 gedacht...aber 30...
Es sei denn du hast es übers Internet probiert und nicht übers LAN?

edit:
genauer lesen...isdn...aha.
das ist kein wunder wenn du jedesmal das ganze bild überträgst.
Viele der Programme, die sowas machen, übertragen nur die Bildänderungen.
Und Bildänderungen feststellen, das ist nicht besonders leicht.
Hooks wären eine Möglichkeit.

the_seed 22. Aug 2004 21:47

Re: screenshot in stream speichern
 
Zitat:

Zitat von Tubos
Zitat:

ich wills klar selber machen sonst würd ich nicht fragen
ok

Zitat:

habe es mit jpg versucht dauert aber bei mir seehr lange 1 bild ca. 30 sek..
ja, sowas musst du dann in kauf nehmen :stupid:
nein im ernst, 30 sekunden??
ich hatte eher an 1 oder 2 gedacht...aber 30...
Es sei denn du hast es übers Internet probiert und nicht übers LAN?

ja klar übers internet ... hab ja extra geschriben isdn :P
im lan wäre das ja ectrem...bei nem speed 10mbit 30 sek *lol* ...

gibts da nnicht ne möglichkeit das bild in kurzer zeit zu komprimieren ??

Tubos 22. Aug 2004 21:50

Re: screenshot in stream speichern
 
Zitat:

gibts da nnicht ne möglichkeit das bild in kurzer zeit zu komprimieren ??
siehe mein editiertes posting oben: nur die änderungen übertragen.
und das komprimieren geht eh schnell, nur die verbindung ist langsam...

SirThornberry 22. Aug 2004 21:53

Re: screenshot in stream speichern
 
bei JPG kann man die Komprimierung doch einstellen...

the_seed 22. Aug 2004 22:00

Re: screenshot in stream speichern
 
Zitat:

Zitat von SirThornberry
bei JPG kann man die Komprimierung doch einstellen...

?? wie ??
wenn ich zb.

...
jpg.Assign(bild);
jpg.SaveToFile(...);
...

SirThornberry 22. Aug 2004 22:02

Re: screenshot in stream speichern
 
einfach das property "CompressionQuality" setzen (wert von 0 bis 100)

dizzy 22. Aug 2004 22:02

Re: screenshot in stream speichern
 
Und eine Bildänderung zum vorhergehenden festzustellen ist pupseinfach. Man muss die beiden Bilder nur mit XOR verknüpfen, und an allen Stellen die dann schwarz sind hat sich das Bild nicht geändert. Dann must du nur noch das zu schickende Bild mit diesen schwarzen Pixeln bestücken, und schon wird es bei der Kompression deutlich kleiner. Dann muss nur noch geändert werden, dass der Client aus dem übertragenen Bild nur die nicht-schwarzen Pixel zeichnet.

Ist nur doof wenn ohnehin schon viel schwarz dabei ist. Evtl. eine seltener vorkommende Farbe wählen, oder besser noch eine Farbe ermitteln, die in dem Restbild nicht vorkommt, und dem Client zusätzlich zum Restbild gleich noch die transparente Farbe mitteilen, die nicht gezeichnet werden soll.

the_seed 22. Aug 2004 22:09

Re: screenshot in stream speichern
 
thx für eure hilfen... hab nicht gewusst das man die quali einstellen kann :)
die ladezeit wird dadurch um ein vielfaches verringert..
-> 168kb -> 32kb -> was will man mehr :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz