Picturebox im Hintergrund laden

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Karabonga.

    Picturebox im Hintergrund laden

    Hallo an alle, die das hier lesen :)

    Ich programmiere grade mit hilfe von ein par Verweisen einen Webcam Chat in VB.NET und möchte, dass man nur den Partner in einer Picturebox sieht und nicht sich selbst.
    Das Priblem ist, dass die Verweise, die ich benutzen darauf bestehen, dass das zu übertragende Bild in einer Picturebox stehen muss....
    jetzt könnte ich die Picturebox zwar außerhalb der Form platzieren, aber dann wird nur ein Blackscreen gesendet, da genau das was gerade in der Picturebox zu sehen ist übertragen wird.

    Das ganze sieht dann so aus: Client = New TCPCam.Client(captureImageBox)

    Also ist meine Frage jetzt: Wie kann ich eine Picturebox, obwohl sie nicht zu sehen ist trotzdem nutzen und Bilder zu übertragen?

    Ich hoffe man kann mir helfen und warte jetzt auf antworten :)
    Lg
    xkap50x

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xKap50x“ ()

    Setze ihre ​Visible-Eigenschaft auf ​False, dann sieht der Client sie nicht.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Das scheint daran aber wohl nicht zu liegen, denn die Eigenschaft verdeckt ja nur das Control...
    Geht das sonst, wenn Du es nicht versteckst?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ja sonst gehts natürlich... das Problem ist glaube ich, dass das Programm nicht den inhalt der Picturebox, sondern die Picturebox an sich ausliest...

    Der ganze code sieht so aus:

    Quellcode

    1. ​Imports System.IO
    2. Imports Emgu.CV
    3. Imports Emgu.CV.UI
    4. Imports Emgu.Util
    5. Imports System.Drawing.Imaging
    6. Public Class Form1
    7. Dim WithEvents Client As TCPCam.Client
    8. Private _capture As Emgu.CV.Capture
    9. Private _captureInProgress As Boolean
    10. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    11. If (_capture Is Nothing) Then
    12. Try
    13. _capture = New Emgu.CV.Capture
    14. AddHandler Application.Idle, New EventHandler(AddressOf Me.ProcessFrame)
    15. _captureInProgress = Not _captureInProgress
    16. Client = New TCPCam.Client(captureImageBox)
    17. Catch excpt As NullReferenceException
    18. MessageBox.Show(excpt.Message)
    19. End Try
    20. End If
    21. End Sub
    22. Private Sub ProcessFrame(ByVal sender As Object, ByVal arg As EventArgs)
    23. Dim frame As Emgu.CV.Image(Of Emgu.CV.Structure.Bgr, Byte) = Me._capture.QueryFrame
    24. Dim grayFrame As Emgu.CV.Image(Of Emgu.CV.Structure.Gray, Byte) = frame.Convert(Of Emgu.CV.Structure.Gray, Byte)()
    25. Dim smoothedGrayFrame As Emgu.CV.Image(Of Emgu.CV.Structure.Gray, Byte) = grayFrame.PyrDown.PyrUp
    26. captureImageBox.Image = frame.Bitmap
    27. End Sub
    28. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    29. If Not Client.isConnected Then
    30. Client.Connect(txt_ip.text, 8086)
    31. Else
    32. End If
    33. End Sub
    34. End Class