IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Utilisation de l'Active X VLC


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut Utilisation de l'Active X VLC
    Bonjour à toutes et à tous,

    J'ai installé l'ActiveX VLC (TVLCPlugin) pour tester la vue de mes caméras 2Mp H264.

    Cela fonctionne correctement avec leur Ip.

    J'ai utilisé le bouton à droite du lecteur pour agrandir la vue en plein écran et ainsi faire un printScreen qui me donne l'entièreté de la vue.

    Mais j'utilise deux lecteurs avec un Tedit contenant l'ip de chaque caméra.

    Ma procédure inscrite dans un Timer me permet de faire qu'un printScreen pour une caméra alors que la vue des deux caméras est affichée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    procedure TFcamera.Timer1Timer(Sender: TObject);
    var BitMap     :TBitMap;
        Image      :TJpegImage;
        NomFichier :String;
        i          :Integer;
    begin
    
      // On doit enregistrer le presse-papier car la touche PrintScreen à été appuyée
      If AFaire And ClipBoard.HasFormat(cf_BitMap)
      Then Begin
        BitMap:=TBitMap.Create;
        Image :=TJpegImage.Create;
        Try
          // Chargement dans un BitMap du presse papier ( au format BMP )
          BitMap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
          Image.CompressionQuality:=80;
    
          // Conversion du BMP en JPG
          Image.Assign(BitMap);
    
          // Recherche d'un nom de fichier non utilisé
          I:=1;
          
    Repeat
    
    //A ajouter
    
     {if EdURL.Text = '192.168.1.10' then
    
          NomFichier:=chappli+'\CamAvant_'+IntToStr(i)+'.JPG';}
         
     if EdURL2.Text = '192.168.1.12' then
    
          NomFichier:=chappli+'\CamArrière_'+IntToStr(i)+'.JPG';
    
            Inc(i);
    
          Until Not FileExists(NomFichier);
    
          // Enregistrement de l'image
          Try
            Image.SaveToFile(NomFichier);
          Except
          End;
        Finally
          BitMap.Free;
          Image .Free;
        End;
      End;
      AFaire:=False;
    
      // Test de la touche d'impression de l'écran
      If ((GetAsyncKeyState(VK_SNAPSHOT) and 32768) <> 0)
      Then Begin
        If Not UneFois
        Then Begin
    
          // Si la touche est appuyée on enregistre le presse-papier sur le prochain OnTimer
          UneFois:=True;
          AFaire:=True;
        End;
      End
      Else Begin
        UneFois:=False;
      End;
    
    end;
    Si quelqu'un avait l'idée directement avec le composant Vcl de faire un ScreenShot cela serait plus facile sinon voir comment le printScreen pourrait se faire si une des deux caméras est en plein écran avec la touche PrintScreen.

    Merci d'avance,

    @+,

    cincap

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut
    En attendant une solution peut être plus logique, j'ai testé ceci avec deux TRadioButton (Rb1 et Rb2) et cela fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (EdURL.Text = '192.168.1.10') and (Rb1.checked = true) then
          NomFichier:=chappli+'\CamAvant_'+IntToStr(i)+'.JPG';
     
          if (EdURL2.Text = '192.168.1.12') and (Rb2.checked = true) then
          NomFichier:=chappli+'\CamArrière_'+IntToStr(i)+'.JPG';
    @+,

    cincap

Discussions similaires

  1. Utilisation VB et Active Directory
    Par getpad dans le forum VB.NET
    Réponses: 3
    Dernier message: 04/06/2008, 15h29
  2. Réponses: 5
    Dernier message: 15/03/2007, 09h52
  3. [VBA-E] Macro utilisant la sélection active
    Par vectorw16 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/03/2007, 20h15
  4. active x vlc
    Par yomane 51 dans le forum Delphi
    Réponses: 7
    Dernier message: 06/12/2006, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo