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 librairie TpasLibVlcPlayer


Sujet :

Delphi

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 421
    Points : 1 325
    Points
    1 325
    Par défaut Utilisation librairie TpasLibVlcPlayer
    Bonjour à toutes et à tous,

    Avec la librairie "TpasLibVlcPlayer" j'utilise le lecteur vlc dans un projet pour visionner ma caméra H264, la sauvegarde du SnapShot se fait au format "png".

    Avec ce code pour modifier le format "png" au format "JPG" cela fonctionne très bien mais cela me semble un peu lourd.

    Ma question ne serait t'il pas possible au lieu de sauvegarder l'image "png" dans le dossier puis la recharger et la sauvegarder en "JPG" de le faire dans un memorystream ?

    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
     
    // Création des images temporaires
        jpg:=TJPEGImage.Create;
        bmp:=TBitMap.Create;
        Png := TPNGObject.Create;
        Try
          // Le bitmap est lu
          png.LoadFromFile(chemin + edtitre1.Text + '.png');
          // La qualité choisie détermine le rendu de l'image et
          // la taille prise sur le disque
          bmp.assign(png);
     
          jpg.CompressionQuality:=80;
          // Image en couleur
          jpg.GrayScale:=False;
          // Copie du BMP dans le JPG
          jpg.assign(bmp);
          // Et sauvegarde du JPG
          jpg.SaveToFile(chemin + edtitre1.Text + '.jpg');
     
          if fileexists(chemin + edtitre1.Text + '.png') then
          DeleteFile(chemin + edtitre1.Text + '.png');
     
        Finally
          jpg.Free;
          bmp.Free;
          png.Free;
        End;
    Merci d'avance,

    @+,

    cincap

    Modification du chemin relatif au dossier "Détections" !

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 453
    Points : 24 864
    Points
    24 864
    Par défaut
    Vu le code fourni, non, puisque l'on ne connait pas l'origine du contenu du TPNGObject

    C'est le code AVANT du LoadFromFile qui serait utile
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 421
    Points : 1 325
    Points
    1 325
    Par défaut
    @ ShaiLeTroll, merci pour ta réponse, il y avait un certain temps que je n'avais plus codé à cause de ma santé et oui on viellit!

    Bien vu Vlc1 c'est le nom donné au lecteur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Vlc1.SnapShot(chemin + Edtitre1.text + '.png');
    Entre temps, j'ai eu un émail du développeur de cette vcl et me dit que la dll "libvlc.dll" à un bug et peut être modifiée pour le "JPG" mais je ne sais pas avec quel logiciel.

    A toutes fin voici la photo concernant cette modification :

    Nom : libvlc_png_to_jpg_patch_info.png
Affichages : 198
Taille : 36,2 Ko

    Merci d'avance,

    @+,

    cincap

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 421
    Points : 1 325
    Points
    1 325
    Par défaut
    @ tous,

    Après avoir modifié la dll de base du lecteur VLC sur les conseils de l'auteur, je sauve le SnapShot en JPG avec mon application.

    Maintenant pour ne pas mourir idiot, cela serait intéressant de répondre à ma question afin de modifier ma façon de faire.

    Cordialement,

    @+,

    cincap

Discussions similaires

  1. Interface SD-ATMEGA / Utilisation librairie EFSL
    Par ChipieChoupette dans le forum Automation
    Réponses: 1
    Dernier message: 08/12/2008, 13h16
  2. Problème utilisation librairie gsoap
    Par Samildanach dans le forum XML
    Réponses: 0
    Dernier message: 20/07/2008, 13h04
  3. Utiliser librairie C# dans Excel
    Par Jarro dans le forum C#
    Réponses: 9
    Dernier message: 05/02/2008, 16h53
  4. Utiliser librairie externe dans son plugin
    Par ghillairet dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 09/01/2008, 10h56
  5. utilisation librairie libmd5
    Par bit_o dans le forum C
    Réponses: 3
    Dernier message: 14/04/2007, 12h00

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