ActiveX de capture vidéo et controle transparent

Signaler
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
-
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
-
Bonjour,

j'utilise un controle activeX de capture de flux video d'une caméra IP axis (le controle AXIS Media Control ce trouve ici: http://www.axis.com/techsup/cam_servers/dev/activex.htm).

Je souhaiterai ajouter sur la video capturée du texte.
J'ai donc ajouté un label par dessus le controle activeX mais on voit le contour rectangulaire, ce qui couvre une partie de la vidéo.
Je pensais donc mettre le BackColor du label en transparent mais ça m'affiche dans le rectangle du label la form et non pas l'activeX.

Savez vous comment je pourrais faire pour poser un controle (label ou panel) sur cet activeX et pouvoir voir l'activeX avec un BackColor transparent.

Merci

f.colo

PS: si vous voulez tester, dans la propriété MediaURL indiquez "http://atlantis.lkn.e-technik.tu-muenchen.de/axis-cgi/mjpg/video.cgi" et mettez à true la propriété AutoStart.

9 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Salut, pout tester essaye ça :

myLabel.BackColor = Color.FromArgb( 16, 0, 16 ); // Overlay
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
Ca fait tout noir autour du texte (je ne vois pus le texte lorsqu'il est en noir)

f.colo
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Ca ne doit pas être vraiment de la vidéo alors.. mais plutot une suite d'image jpg..
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
exactement, c'est un flux mjpeg.
connais tu une solution?

f.colo
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Je peux pas tester tout de suite.. mais essaye avec ce label :

public class MyLabel : Label
{
    protected override void OnPaintBackground( PaintEventArgs e )
    {
         //base.OnPaintBackground( e );
    }
}
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
J'ai essayé mais le rectangle de contour prend quand meme la couleur de la form sans le commentaire de base.OnPaintBackground( e );
et noir avec.

J'ai fait comme ceci pour l'utiliser;

MyLabel label1 = new MyLabel();
label1.AutoSize = true;
label1.Location = new System.Drawing.Point(80, 80);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(85, 13);
label1.TabIndex = 1;
label1.Text = "coucouc ca va?";
this.Controls.Add(label1);
label1.BringToFront();

J'ai essayé avec this.axAxisMediaControl1.Controls.Add(label1); mais on ne le vois plus (axAxisMediaControl1 est le controle activeX).

Quelqu'un a une autre solution? :(

f.colo
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
As tu un évènement déclenché à chaque fois qu'une nouvelle image apparait ? Ca serait utile pour savoir quand rafraichir le contrôle.
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
Non, l'activeX fait tout tout seul, comme evenement ils n'ont mis que le double clic.

f.colo
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
OK, autant pour moi, j'ai pas fait gaffe mais oui, il y a un evenement déclenché à chaque nouvelle image :$, j'ai honte là ...

Donc j'ai repris les solutions données jusque là en affichant dans le label:
        private void axAxisMediaControl1_OnNewImage(object sender, EventArgs e)
        {
            this.myLabel1.Text = DateTime.Now.ToString();
        }
et ca fait toujours tout noir autour.
Si tu souhaite toujours m'aider ...

f.colo