Announcement

Collapse
No announcement yet.

transparentes png bild über video legen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • transparentes png bild über video legen

    Hallo!

    Ich bin neu hier, und ich habe gehört dass man hier sehr schnell sehr gute antworten bekommt

    aber nun zu meiner frage:

    ich möchte ein teilweise transparentes bild über ein video legen.
    also habe ich mir ein bild im png format mit transparenz erstellt, dann auf eine form ein VLC steuerelement gesetzt in dem ein video gespielt wird.
    über dem vlc steuerelement eine picturebox gesetzt, in die das png eingebunden ist, aber der transparente teil sieht nicht so aus wie das video das unter der picturebox läuft sondern wie der hintergrund der form.

    wie kann ich den transparenten teil der picturebox so aussehen lassen wie das video das darunter läuft?

    danke schonmal für euere antworten!

  • #2
    Ich vermute mal du benutzt Winforms und nicht WPF.
    In Winforms gibt es keine echte Transparenz sondern nur eine sogenannte Pseudotransparenz das heißt es wird ein Transparenzeffekt simuliert in dem die controleigene Zeichenfläche mit der Zeichenfläche des Parentcontrols überlagert wird. Heißt wenn das ParentControl die Form ist wird die Picturebox zwar seine gesamte Zeichenfläche selbst malen aber um eben Transparenz vorzutäuschen die Backgroundcolor des Parentcontrols benutzen und mit seiner eigenen Zeichfläche ~mischen~.

    Wenn dein VLC Control eine Controls Property hat kannst du versuchen im Code das VLC Control als Parent für die Picturebox zu benutzen also etwa so

    Code:
    VLCControl.Controls.Add(MyPictureBox)
    Die Wahrscheinlichkeit das das hilft geht aber gegen null ;(
    Denn du möchtest ja vermutlich einen bewegten Hintergrund haben, warum würdest du auch sonst ein Video benutzen
    Da die Picturebox die gezeigte Ansicht, es ist das oberstes Control, zeichnet und nicht dein VLCControl müßtest du für regelmäßiges neuzeichnen sorgen, wenn die Picturebox überhaupt den Videocontent übernimmt und nicht einfach das Standardgrau des Control Backgrounds, kommt dabei drauf an wie das Video vom VLC Control gezeichnet wird.

    Ich würde dir raten wenn dieser Effekt wichtig ist eine andere Technik die Transparenz unterstützt (z.B. WPF) einzusetzen.

    Comment


    • #3
      Danke für die schnelle antwort!

      Was du da sagst klingt logisch! ich habe es versucht die picturebox als control einzutragen aber es bringt nichts.

      gibt es eine möglichkeit meine aktuelle form einfach ich WPF zu konvertieren oder muss ich sie komplett neu zeichnen und den code kopieren?

      Comment


      • #4
        Da ist größtenteils neuschreiben angesagt.
        Die rein logischen Codebestandteile ohne Abhängigkeit zur UI kannst du sicherlich einfach übernehmen, WPF selbst funktioniert aber anders als Winforms so das der Versuch etwas zu übernehmen wohl eher zu zusätzlichen Schwierigkeiten führt.

        Comment


        • #5
          danke
          hab ich auch gerade bemerkt als nichtmal das VLC control WPF fähig war.
          ich mach mir ein neues Formular und meld mich dann wieder.

          MFG

          Comment


          • #6
            Danke, danke, danke!!!!
            Es funktioniert super!!!

            Comment


            • #7
              eine frage hab ich noch:

              kann ich nur diese eine form in WPF machen und die restlichen Formen lassen? weil sonst wäre das ein riesen aufwand, da die meisten steuerelemente (z.B Datagridview) nicht in wpf vorhanden sind.

              wenn ja, wie ist das möglich? ich kann nämlich kein WPF fenster in mein projekt einfügen bzw. ein normales Formular in ein WPF Projekt.

              Comment

              Working...
              X