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

Framework .NET Discussion :

[1.1] PNG - Taux de compression


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut [1.1] PNG - Taux de compression
    Bonjour à tous,
    Est-il possible de changer le taux de compression (entre 0-9) d'un bitmap lorsqu'on le sauve en PNG ?
    Si oui, comment fait-on, car j'ai eu beau chercher, pas trouvé...

    J'ai exploité, en vain, la piste de ImageCodecInfo, EncoderParameters, Encoder... Mais surement que je m'y suis mal pris...

    Je précise que je tourne avec le framework 1.1.

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Up.

    Voici la piste de l'encodeur:
    Code c# : 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
    Bitmap vImage = null;
    const string ENCODER_TYPE = "image/png";
     
    ImageCodecInfo myImageCodecInfo = null;
    Encoder myEncoder = null;
    EncoderParameter myEncoderParameter = null;
    EncoderParameters myEncoderParameters = null;
     
    myImageCodecInfo = GetEncoderInfo(ENCODER_TYPE);
    myEncoder = Encoder.Compression;
    myEncoderParameters = new EncoderParameters(1);
    myEncoderParameter = new EncoderParameter(myEncoder, 5); // <-- La fameuse valeur a faire varier...
    myEncoderParameters.Param[0] = myEncoderParameter;
     
    try
    {
    	vImage = new Bitmap(@"x:\test.bmp");
    	vImage.Save(@"x:\test.png" , myImageCodecInfo, myEncoderParameters);
    }
    finally
    {
    	vImage.Dispose();
    	myEncoderParameters.Dispose();
    	myEncoderParameter.Dispose();
    }
    Mais rien n'y fait... le .png fait désespérément la même taille...

  3. #3
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    Est-il possible de changer le taux de compression (entre 0-9) d'un bitmap lorsqu'on le sauve en PNG ?
    Si je ne dis pas de bêtise, le deuxième paramètre de EncoderParameter est un chiffre variant entre 0 et 100.

    This value must be in the range from 0 (highest compression, lowest quality), to 100 (lowest compression, highest quality). The default value seems to be about 75.
    source : http://www.codeproject.com/csharp/pr...select=1467537

    Bien que ce soit expliqué dans l'exemple pour le jpeg, j'imagine que le chiffre indiquant la qualité est dans la même fourchette pour le png.

  4. #4
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Merci pour la réponse.

    Après avoir lu de cette article ceci :
    quality: Only used by the JPEG encoder. Default is about 75.
    Je me suis dit que c'était plutôt mal barré...
    J'ai, à tout hasard, essayé, et... bin non, ça change rien du tout...

    Donc, j'en conclue qu'il n'y a pas moyen de changer la compression du PNG en DotNet... dommage... mais pas gravissime car avec le taux par défaut, le gain est tout de même non négligeable

  5. #5
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    quality: Only used by the JPEG encoder. Default is about 75.
    Ah d'accord Voilà une chose que je saurais désormais, je n'avais pas fais attention dans l'article .

    mais pas gravissime car avec le taux par défaut, le gain est tout de même non négligeable
    OUi c'est vrai c'est déjà pas mal

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

Discussions similaires

  1. [PIL] taux de compression
    Par airod dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 29/01/2007, 09h13
  2. Connaitre le taux de compression d'un JPEG
    Par diam's dans le forum Delphi
    Réponses: 2
    Dernier message: 01/09/2006, 19h21
  3. Taux de compression d'une base Oracle
    Par Manasse dans le forum Oracle
    Réponses: 7
    Dernier message: 30/11/2005, 19h29
  4. Taux de compression d'un MP3
    Par Royd938 dans le forum Audio
    Réponses: 3
    Dernier message: 29/09/2005, 11h26

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