T
tuxedo
Gast
Hallo zusammen,
ich sitz vor einem etwas doofen Problem:
Unsere Java-Anwendung soll über ein ActiveX-Control welches ich gerade schreibe, Videostreams anzeigen. Mittels SWT wird dieses Control geladen in als OleControlSite in einem OleFrame in der Anwendung angezeigt. Das funktioniert schon prima.
Jetzt geht's aber drum, dass man "Overlays" auf das Video setzen kann. Im Prinzip nix wildes. Der DirectShow Videorenderer kann ein Bitmap als Overlay über das Video legen. Auch mit Transparenz und Alpha-Transparenz.
Damit sollen z.B. die Namen der Videoquellen über das Video gelegt werden können.
Da man mit den Overays aber von Java aus noch interagieren können soll, sehe ich da das eine oder andere Problem:
Zum einen muss ich auf ActiveX Seite Mausevents abfangen und an Java/SWT weiterleiten und vor allem noch "herausfinden" auf welches Overlay (es kann durchaus mehrere auf einem Video geben) geklickt wurde.
Die Dokumentation seitens Visual C++ etc. ist ziemlich sch**sse, da es offensichtlich kaum Leute gibt die so tief unten auf dem VideoRenderer arbeiten.
Also hab ich mir gedacht: Wieso macht man das mit den Overlays nicht von Java aus? SWT müsste ja transparenz können, so dass ich sozusagen mittels Null-Layout einzelne Composites (oder so, kenn mich in SWT noch nicht so aus) auf das Video platziere. Prinzipiell geht das auch schon. Denn das war die bisherige vorgehensweise. Nun sollen diese Overlays (welche Text und/oder Bilder enthalten können) aber einen Transparenten Hintergrund haben können (als Option auch einen farbigen), und das ganze Overlay an sich soll später auch noch Alphatransparenz können (man soll durch den Text/das Bild hindurch das darunterliegende Video sehen können).
Nun meine Frage an die SWT-Spezis hier:
LÄsst sich das mit SWT realisieren? Gibts Codeschnipsel für die Transparenzgeschichte (hab jetzt noch nix wirkliches gefunden).
Weil wenn das ganze in Java machbar ist, dann wäre das wohl schneller und geschickter zu realisieren, wie wenn ich das unten auf dem Renderer des DirectShow Graphen mache und von da aus auch noch Mausevents weiterriechen und steuern muss.
- Alex
ich sitz vor einem etwas doofen Problem:
Unsere Java-Anwendung soll über ein ActiveX-Control welches ich gerade schreibe, Videostreams anzeigen. Mittels SWT wird dieses Control geladen in als OleControlSite in einem OleFrame in der Anwendung angezeigt. Das funktioniert schon prima.
Jetzt geht's aber drum, dass man "Overlays" auf das Video setzen kann. Im Prinzip nix wildes. Der DirectShow Videorenderer kann ein Bitmap als Overlay über das Video legen. Auch mit Transparenz und Alpha-Transparenz.
Damit sollen z.B. die Namen der Videoquellen über das Video gelegt werden können.
Da man mit den Overays aber von Java aus noch interagieren können soll, sehe ich da das eine oder andere Problem:
Zum einen muss ich auf ActiveX Seite Mausevents abfangen und an Java/SWT weiterleiten und vor allem noch "herausfinden" auf welches Overlay (es kann durchaus mehrere auf einem Video geben) geklickt wurde.
Die Dokumentation seitens Visual C++ etc. ist ziemlich sch**sse, da es offensichtlich kaum Leute gibt die so tief unten auf dem VideoRenderer arbeiten.
Also hab ich mir gedacht: Wieso macht man das mit den Overlays nicht von Java aus? SWT müsste ja transparenz können, so dass ich sozusagen mittels Null-Layout einzelne Composites (oder so, kenn mich in SWT noch nicht so aus) auf das Video platziere. Prinzipiell geht das auch schon. Denn das war die bisherige vorgehensweise. Nun sollen diese Overlays (welche Text und/oder Bilder enthalten können) aber einen Transparenten Hintergrund haben können (als Option auch einen farbigen), und das ganze Overlay an sich soll später auch noch Alphatransparenz können (man soll durch den Text/das Bild hindurch das darunterliegende Video sehen können).
Nun meine Frage an die SWT-Spezis hier:
LÄsst sich das mit SWT realisieren? Gibts Codeschnipsel für die Transparenzgeschichte (hab jetzt noch nix wirkliches gefunden).
Weil wenn das ganze in Java machbar ist, dann wäre das wohl schneller und geschickter zu realisieren, wie wenn ich das unten auf dem Renderer des DirectShow Graphen mache und von da aus auch noch Mausevents weiterriechen und steuern muss.
- Alex