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

Graphisme Java Discussion :

reduire la qualité d une image gif


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut reduire la qualité d une image gif
    Hello,

    Dans mon application il est possible de faire une capture d écran et de la sauvegardé, ceci se passe bien lorsque l utilisateur choisit le format jpeg mais lorsqu il choisit gif j ai une exception qui est soulevé

    org.eclipse.swt.SWTException: Unsupported color depth

    je cherche donc a reduire la qualité de l image pour la sauvegardé


    quelqu un aurait il une piste ?

    merci

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    j ai trouvé la solution il faut testé le depth de l image et recréer l image data si le depth est supérieur a 8

    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
     
    /**
         * Retrieve an image data with an 8 bit palette for an image. We assume that
         * the image has less than 256 colours.
         * 
         * @param imageData
         *            the imageData for the image.
         * @return the new 8 bit imageData or null if the image has more than 256
         *         colours.
         */
        private ImageData get8BitPaletteImageData(ImageData imageData) {
            PaletteData palette = imageData.palette;
            RGB colours[] = new RGB[256];
            PaletteData newPaletteData = new PaletteData(colours);
            ImageData newImageData = new ImageData(imageData.width,
                imageData.height, 8, newPaletteData);
     
            int lastPixel = -1;
            int newPixel = -1;
            for (int i = 0; i < imageData.width; ++i) {
                for (int j = 0; j < imageData.height; ++j) {
                    int pixel = imageData.getPixel(i, j);
     
                    if (pixel != lastPixel) {
                        lastPixel = pixel;
     
                        RGB colour = palette.getRGB(pixel);
                        for (newPixel = 0; newPixel < 256; ++newPixel) {
                            if (colours[newPixel] == null) {
                                colours[newPixel] = colour;
                                break;
                            }
                            if (colours[newPixel].equals(colour))
                                break;
                        }
     
                        if (newPixel >= 256) {
                            /**
                             * Diagram has more than 256 colors, return null
                             */
                            return null;
                        }
                    }
     
                    newImageData.setPixel(i, j, newPixel);
                }
            }
     
            RGB colour = new RGB(0, 0, 0);
            for (int k = 0; k < 256; ++k) {
                if (colours[k] == null)
                    colours[k] = colour;
            }
     
            return newImageData;
        }

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/06/2008, 17h11
  2. [JAI] Diminuer la qualité d'une image PNG
    Par supermanu dans le forum 2D
    Réponses: 2
    Dernier message: 11/04/2006, 11h49
  3. Sauvegarder une image (.GIF/.JPG) avec CppWebBrowser
    Par Argol_Medusa dans le forum C++Builder
    Réponses: 12
    Dernier message: 12/12/2005, 11h27
  4. [ImageMagick] Mixer une image Gif et PNG
    Par rigolman dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 16/10/2005, 14h58
  5. Convertir une image Gif en Bmp
    Par alen dans le forum MFC
    Réponses: 3
    Dernier message: 11/10/2005, 21h55

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