Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:20.5.2013 14:48

Ahoj, na netu jsem našel přehrávač videí http://www.codeproject.com/…aPlayer-in-C , ale mám problém, přehrávači se určí panel do kterého bude přehrávat, ale když tam chci něco vykreslit přes System.Drawing tak to není vidět, nemáte s tím někdo zkušenosti?

Odpovědět 20.5.2013 14:48
Přecházím na "Cross-Platform Development"
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na Theodor Johnson
Luboš Satik Běhounek:20.5.2013 15:07

Jen takovy pokusny tip, zkus na tom panelu po vykresleni zavolat Invalidate()

Nahoru Odpovědět 20.5.2013 15:07
https://www.facebook.com/peasantsandcastles/
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Luboš Satik Běhounek
Theodor Johnson:20.5.2013 15:10

Jestli jsi myslel něco jako

Graphics g = this.CreateGraphics();

            g.DrawString("Test string - graphics drawing", new Font(SystemFonts.DefaultFont, FontStyle.Regular), new SolidBrush(Color.White), new PointF(10f, 10f));

            this.Invalidate();

tak ten text pořád není vidět

Nahoru Odpovědět 20.5.2013 15:10
Přecházím na "Cross-Platform Development"
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na Theodor Johnson
Luboš Satik Běhounek:20.5.2013 15:52

Nejsem si jistej, jak se DirectShow popere s tim, ze tam kreslis ty..

Kreslis az po tom, co probehne kresleni od DirectShow?

A nejsem si jistej, jak presne funguje to create graphics, nebylo by lepsi kreslit to v udelosti onpaint?

Nahoru Odpovědět 20.5.2013 15:52
https://www.facebook.com/peasantsandcastles/
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Theodor Johnson
Petr Nymsa:20.5.2013 15:55

Nebměl by jsi grafiku zakládat od toho panelu a ne od formu, tedy v události onPaint máš v e Graphics

void OnPaint(...EventArgs e)
  Graphics g=e.Graphics;
Nahoru Odpovědět 20.5.2013 15:55
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Luboš Satik Běhounek
Theodor Johnson:20.5.2013 16:01

Zatím mi to takové vykreslování vždy fungovalo dobře, navíc tím můžu určit překreslení pomocí timeru. Já neurčuji kdy bude DirectShow vykreslovat, já tam mam upravenou metodu na načtení videa, to si určí k vykreslování panel.Handle a dál se o to nestarám.

Petr Nymsa: nepužívám graphics od formu, mám tam třídu

public class VideoPanel : Panel

což je vlastně panel ale můžu ho libovolně upravovat zevnitř

Editováno 20.5.2013 16:02
Nahoru Odpovědět 20.5.2013 16:01
Přecházím na "Cross-Platform Development"
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Theodor Johnson
Petr Nymsa:20.5.2013 16:03

Tak mě bohužel takhle nic nenapadá a DirectShow neznám

Nahoru Odpovědět 20.5.2013 16:03
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Petr Nymsa
Theodor Johnson:20.5.2013 16:08

Tak asi mi nezbyde než do části k vykreslování nacpat panel a kreslit do něj

Nahoru Odpovědět 20.5.2013 16:08
Přecházím na "Cross-Platform Development"
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.