locked
Windows Mobile - DirectShow und Panel handle RRS feed

  • Frage

  • Hallo,
    ich habe eine DirectShowNETCF klasse im internet gefunden, mit der ich mir das Bild meiner Cam vom Gerät anzeigen lassen kann (http://alexmogurenko.com/blog/directshownetcf/)

    Nun bekomme ich ein wunderbar ein Bild in einem Panel angezeigt. Mal abgesehen, dass das speichern des Bildes nicht funktioniert bin ich damit soweit auch erstmal zufrieden.

    Ich habe mir das Projekt nun einmal in VB.net übertragen, und siehe da es funktioniert noch immer :)

    Nun möchte ich aber gerne zwei dinge erledigen:

    (1) ich möchte ein rotes Rechteckt auf das Previewbild zeichnen
    (2) ich möchte mir ein teil des Bildes in ein Bitmap umwandeln.

    Das das speichern des Bildes bzw. das grabben der Frames von hause aus in der Library noch nicht wirklich funktioniert habe ich mir gedacht: gut dann grabbst du dir den Krempel eben selbst aus dem Panel.

    Das Cam-Bild wird mithilfe des Handles vom Panel angezeigt. Meine Frage nun: kann ich da jetzt noch irgendwie mein Rechteck einzeichnen, ohne das Bild zu grabben, zu bearbeiten und danach in zB. einer Picturebox anzuzeigen?

    Unter einer Windows Anwendung habe ich es schon einmal geschafft, das Handle Bild eines Panels als Bitmap zu bekommen, unter Windows Mobile versuche ich es derzeit so:

    Dim gr As Graphics = Graphics.FromHdc(Panel1.Handle)
    
    
    Jedoch bekomme ich folgede Exception: "Der Wert liegt außerhalb des erwarteten Bereichs."

    Kann mir einer weiterhelfen?

    Vielen dank.

    MfG
    Hibbert.de
    Donnerstag, 24. September 2009 07:51

Antworten

  • Hallo hibbert.de,

    Schau mal ob dieser Code Dir weiter helfen kann:

            Dim gr As Graphics = Panel1.CreateGraphics()

     

            gr.Clear(Panel1.BackColor)

            gr.DrawString("Microsoft", Panel1.Font, Brushes.Red, 10.0F, 10.0F)

    Grüße,

    Robert

    Sonntag, 25. Oktober 2009 10:39

Alle Antworten

  • Hallo hibbert.de,

    Schau mal ob dieser Code Dir weiter helfen kann:

            Dim gr As Graphics = Panel1.CreateGraphics()

     

            gr.Clear(Panel1.BackColor)

            gr.DrawString("Microsoft", Panel1.Font, Brushes.Red, 10.0F, 10.0F)

    Grüße,

    Robert

    Sonntag, 25. Oktober 2009 10:39
  • Hallo hibbert.de,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Sonntag, 1. November 2009 14:17