Diskuze: Graphics přes DirectShow
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Jen takovy pokusny tip, zkus na tom panelu po vykresleni zavolat Invalidate()
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
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?
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;
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ř
Tak mě bohužel takhle nic nenapadá a DirectShow neznám
Tak asi mi nezbyde než do části k vykreslování nacpat panel a kreslit do něj
Zobrazeno 8 zpráv z 8.