begin process at 2012 05 29 04:36:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

DirectX

 > 

Filtre Directshow Overlay Text avec alpha


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Filtre Directshow Overlay Text avec alpha

mardi 15 mai 2007 à 11:15:21 | Filtre Directshow Overlay Text avec alpha

AlexV4x

Bonjour,

Je travaille actuellement sur la realisation d'un filtre Directshow utilisant GDI+. j'arrive, grace aux classes de GDI+ a ecrire sur la video lorsque je la lis dans une application externe (codee par moi-meme, qui crée le graph DirectShow et connecte les filtres). Mon probleme est que lorsque j'insere mon filtre dans un graph manuellement, mon texte n'apparait pas sur la video, qui elle se joue normalement.

Quelqu'un pourrait-il m'aider ?

Je mets ici une portion de mon code si jamais vous avez des remarques :


    HBITMAP lDibSection = CreateDIBSection(NULL, (BITMAPINFO*) &pVI->bmiHeader,
                                    DIB_RGB_COLORS, &lpDibBits, NULL, 0);

    HDC lDC;
   
    lDC = CreateCompatibleDC(NULL);
    m_OldObject = SelectObject( lDC, lDibSection );

    BYTE *pBuffer;
    pSample->GetPointer( pBuffer );
    RGBQUAD * pBuffer2 = (RGBQUAD*) pBuffer;

    memcpy( lpDibBits, pBuffer, lWidth * lHeight * 4 );

   WCHAR string[] = L"Hello World";
    long lfHeight =    12 * LOGPIXELSY / 72 + 4;
    Graphics gr(lDC);
   
    // Preparing Font //
    PointF        pointF(0, lHeight - lfHeight);
    FontFamily    fontFamily(L"Arial");
    Font        font(&fontFamily, 12, FontStyleItalic, UnitPoint);
    SolidBrush    fontColor(Color(255, 255, 255, 255));
   
    // Preparing rectangle //
    RectF        rectF(0, lHeight - lfHeight, lWidth, lfHeight);
    Pen            pen(Color(0, 0, 0, 0));
    SolidBrush    rectBackground(Color(128, 255, 0, 0));
    gr.FillRectangle(&rectBackground, rectF);

    // Draw Text on Background Rectangle //
    gr.DrawRectangle(&pen, rectF);
    gr.DrawString(string, -1, &font, pointF, NULL, &fontColor);
    gr.get
    gr.ReleaseHDC(lDC);
   
    // Copy our modified bitmap into the original sample buffer
    memcpy( pBuffer, lpDibBits, lWidth * lHeight * 4 );
   
    DeleteDC(lDC);
    DeleteObject(lDibSection);


Je précise donc que, utilise dans une appli, ce filtre affiche un bandeau rouge au bas de l'image, dans lequel on peut lire "Hello World". Malheureusement, en dehors, il ne fait rien, ce qui est dommage car j'aimerais bien realiser de petits effets sympa
mardi 15 mai 2007 à 12:24:06 | Re : Filtre Directshow Overlay Text avec alpha

AlexV4x

Réponse acceptée !
Desolé, erreur classique, j'avais oublié de charger la GDI (shame )

Ben pour ceux que ca interesse, le code ci-dessus fonctionne...
mardi 22 mai 2007 à 15:47:59 | Re : Filtre Directshow Overlay Text avec alpha

aurelienvieille

En fait ce qui m'interresse terriblement, c'est ton filtre :)
Cordialement
Crealinks
vendredi 26 juin 2009 à 15:14:17 | Re : Filtre Directshow Overlay Text avec alpha

mascoolj

Salut Alexv4x,

Peux tu m'envoyer s'il te plait ton code..je suis sur un projet, ou je dois superposer une image  sur une application qui affiche le preview de la capture sous windows mobile.

Cordialement

Said


Cette discussion est classée dans : directshow, filtre, ldc, gr, pbuffer


Répondre à ce message

Sujets en rapport avec ce message

DirectShow > filtre source -> desentrelacement VRM9 [ par bigzooloo ] Bonjour,J'ai créé un filtre source qui me permet de récupérér des données en provenance d'une caméra analogique. Elle m'envoie des données au format P creation filtre directshow [ par thorodin ] Bonjour,je cherche a savoir s il est possible de creer un filtre directshow a partir de la classe CTransformFilter avec plusieurs pins de sortie. je n [DirectShow] Gerer proprietes depuis appli externe [ par AlexV4x ] Bonjour a tous,J'ai développé une petite application en C# qui n'a pour but que d'afficher une video en lui appliqaunt un filter DShow.Pour ce faire, création d'un filtre DirectShow pour un codec H.264 [ par wafabmed ] Je voudrai faire un filtre DShow ( DirectShow) pour un codec H.264 en se basant sur le projet FFmpeg (décodeur) et le projet X264 (codeur).Le problème filtre directshow EZRGB24 [ par oeildedinde ] Bonjour, j'essaie de modifier le filtre directshow EZRGB24 (fournis dans la SDK), pour que les dimension de l'image sur le pinOut fassent la moitiée d changer les paramètre d'un filtre directshow sans utiliser la page de propriété [ par oeildedinde ] Bonjour, Je cherche à modifier les paramètres d'un filtre directshow depuis une application faite en c++ express. Le filtre en question est une modifi filtre directshow audio sample WAVFORMATEX [ par oeildedinde ] Bonjour, Sur un filtre directshow, j'ai une fonction qui récupère les datas d'un flux audio stéreo 16 bits. Elles sont stockées sur un PBYTE. Quand j Filtre directshow (EZRGB24 modifié) [ par oeildedinde ] Salut, J'ai modifié le filtre EZRGB24 de la sdk, de sorte à ce qu'il fasse une tranformation sur une image RGB24 et sorte une image RGB32 vers le vid Integration de mon filtre directshow [ par pilulu ] Bonjour,Je travaille sur un filtre de transformation directshow que je veux integrer à mon application de lecture de flux video venant d'un module d'e Filtre numérique [ par Iceman_203 ] Bonjour,Deja je ne sais pas si j ai posté dans la bonne section, étant nouveau....Voici ma question:J'ai travailler lors de mes études sur un filtre n


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales