Problem mit Picture

24/01/2008 - 19:25 von Wolfgang Bußmann | Report spam
Hallo an alle "Graphikspezialisten",

ich schlage mich schon einige Zeit mit dem Picture Objekt herum und
komme trotz "googlen" einfach nicht weiter.

Problemstellung:
Ich muss den Inhalt eines Picture über TCP/IP auf einen anderen Rechner
übertragen und dort genau so wieder anzeigen lassen. Das ganze muss
nachher für eine Animation auf einer LED-Tafel mindestens 24x je sec.
erfolgen. Auf das zu übertragende Picture zeichne ich jedoch vorher
einige Werte.

Codeauszug:
'Höhe setzen
PicPWMAusgabe.ScaleHeight = 180

'Breite setzen
PicPWMAusgabe.ScaleWidth = 240

'auf Bildschirmpixel setzen
PicPWMAusgabe.ScaleMode = 3

'Mustertext schreiben
PicPWMAusgabe.Print "hallo", "test"

'Mustertext an x,y ausgeben
PicPWMAusgabe.CurrentX = 120
PicPWMAusgabe.CurrentY = 80
PicPWMAusgabe.ForeColor = QBColor(4)
PicPWMAusgabe.Print "Naechste"

'Rechteck zum Testen ausgeben
PicPWMAusgabe.Line (0, 0)-(239, 179), QBColor(4), B

'zum Testen ob Picture korrekt im Speicher geschrieben wurde
'Picture in ein Hilfspicture kopieren
Picture1.Picture = PicPWMAusgabe.Picture

'hier passiert jedoch gar nichts - Picture1 bleibt leer!

Wie komme ich jetzt an das Picture mit den dargestellten Texten und
Linien und wie kann ich diese in ein Array kopieren und versenden. Auf
dem anderen Rechner muss das Picture genau wie auf dem ersten, auf die
Pixel bezogen, dargestellt werden.

Hat jemand evtl. einen Tipp hierzu oder wo liegt evtl. mein Denkfehler.

Vielleicht besteht ja auch die Möglichkeit über TCP/IP genau dieses
picture über das Fensterhandle? abzufragen. Das wàre ab zu schön

Vielen Dank im Voraus!

Gruß Wolfgang
 

Lesen sie die antworten

#1 Thorsten Doerfler
24/01/2008 - 19:43 | Warnen spam
Wolfgang Bußmann schrieb:
Hallo an alle "Graphikspezialisten",

ich schlage mich schon einige Zeit mit dem Picture Objekt herum und
komme trotz "googlen" einfach nicht weiter.

Problemstellung:
Ich muss den Inhalt eines Picture über TCP/IP auf einen anderen Rechner
übertragen und dort genau so wieder anzeigen lassen. Das ganze muss
nachher für eine Animation auf einer LED-Tafel mindestens 24x je sec.
erfolgen. Auf das zu übertragende Picture zeichne ich jedoch vorher
einige Werte.

Codeauszug:
'Höhe setzen
PicPWMAusgabe.ScaleHeight = 180

'Breite setzen
PicPWMAusgabe.ScaleWidth = 240

'auf Bildschirmpixel setzen
PicPWMAusgabe.ScaleMode = 3

'Mustertext schreiben
PicPWMAusgabe.Print "hallo", "test"

'Mustertext an x,y ausgeben
PicPWMAusgabe.CurrentX = 120
PicPWMAusgabe.CurrentY = 80
PicPWMAusgabe.ForeColor = QBColor(4)
PicPWMAusgabe.Print "Naechste"

'Rechteck zum Testen ausgeben
PicPWMAusgabe.Line (0, 0)-(239, 179), QBColor(4), B

'zum Testen ob Picture korrekt im Speicher geschrieben wurde
'Picture in ein Hilfspicture kopieren
Picture1.Picture = PicPWMAusgabe.Picture

'hier passiert jedoch gar nichts - Picture1 bleibt leer!



Dein selbst gezeichnetes Bild kann über die Image-Eigenschaft
abgefragt werden, sofern Du zuvor AutoRedraw auf True gesetzt hast.



Wie komme ich jetzt an das Picture mit den dargestellten Texten und
Linien und wie kann ich diese in ein Array kopieren und versenden. Auf
dem anderen Rechner muss das Picture genau wie auf dem ersten, auf die
Pixel bezogen, dargestellt werden.



Bild-Daten eines Picture-Objekts in Bytes und zurück verwandeln
http://www.aboutvb.de/khw/artikel/k...obytes.htm

Vielleicht besteht ja auch die Möglichkeit über TCP/IP genau dieses
picture über das Fensterhandle? abzufragen.



TCP/IP kümmert sich nur um den Transport, das Verpacken musst Du
selber übernehmen. Zumal Dir der Handle auf dem entfernten Rechner
nichts nutzt. :-)

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen