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 :

Connaître la taille du fichier .JPG avant sauvegarde


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 202
    Points : 91
    Points
    91
    Par défaut Connaître la taille du fichier .JPG avant sauvegarde
    Bonjour,

    j'utilise MyJPEG.SaveToFile(MyFile).
    Ceci fait, je peux facilement connaitre le volume occupé par MyFile, exprimé en Mo et ko.

    La question est : Est-il possible de connaître ce volume AVANT d'effectuer le saveToFile ?

    Bien sûr, MyJPEG.height et MyJPEG.width son connus. Mais comment avoir une valeur prévisionnelle (même approximative) des ko ou Mo de MyFile avant d'effectuer le saveToFile ?

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 393
    Points : 637
    Points
    637
    Par défaut
    à défaut tu peux utiliser saveToStream et là tu pourras connaitre sa taille

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2009
    Messages : 322
    Points : 310
    Points
    310
    Par défaut
    Citation Envoyé par JJJJJ Voir le message
    Bonjour,
    Bien sûr, MyJPEG.height et MyJPEG.width son connus. Mais comment avoir une valeur prévisionnelle (même approximative) des ko ou Mo de MyFile avant d'effectuer le saveToFile ?
    Tu peux créer un ram disk sauver sur le ram disk, ensuite lire la taille et décider si tu sauvegardes sur disque ou non.

    La taille finale du jpg. dépend de plusieurs paramètres dont le taux de compression, mais aussi de la complexité de l'image, etc. Donc savoir à priori la taille avant de générer l'image binaire compresser à sauvegarder est un problème quasi-insoluble.

    Tu peux évaluer la grosseur maximale par Hauteur x Largeur x 3 octets*;

    *3 octets pour 4 millions de couleurs, +/- selon le nombre de couleurs.

    Pour faire des approximations grossières de meilleur qualité: tu crées un image coloré au hasard, tu l'enregistres sans compression, ensuite tu compresse avec le paramètre de qualité de compression variant de 12 (meilleur) à 0 (pire)[paramètres Photoshop]. Tu pourras générer ainsi une formule empirique de la taille maximale du fichiers du genre

    f(jpg)=k x 1^(Couleur/c) x 1^(Longueur/l) x (Hauteur/h) x (Compression/k).

    Merci de revenir avec ton résultat

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 299
    Points
    11 299
    Billets dans le blog
    6
    Par défaut
    Prendre une image aléatoirement colorée ne me semble pas judicieux, en regard de la nature de la compression JPEG, peu efficace quand les pixels proches sont très différents. Par contre, au cas où les images soient plutôt homogènes, je suis tout à fait pour établir une échelle personnelle sur un sous-ensemble test (sinon, il existe des ensembles de clichés pour tests sur le net). J'ai trouvé une référence du travail qu'un internaute a fait sur ses propres photos de la vie qutodienne : http://www.graphicsmill.com/blog/201...s#.VtQC-uZGYcc. Son échelle est pê applicable telle quelle en première approximation.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #5
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 202
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par exoseven Voir le message
    à défaut tu peux utiliser saveToStream et là tu pourras connaitre sa taille
    C'est ce que j'ai essayé en premier et ca marche. Je ne vais pas chercher plus loin.
    Merci à tous ceux qui m'ont répondu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lien avec fichier .jpg
    Par edelweisseric dans le forum Flash
    Réponses: 10
    Dernier message: 22/05/2006, 12h02
  2. probleme pour ouvrir un fichier JPG
    Par kokatrix dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 04/05/2006, 16h53
  3. Réponses: 1
    Dernier message: 07/01/2006, 21h10
  4. [Rave][Delphi] integration de fichiers JPG
    Par Harry dans le forum Rave
    Réponses: 7
    Dernier message: 28/09/2003, 11h36
  5. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44

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