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 :

[indépendant du langage]Réorganiser la palette d'un bitmap 256c (Format8bppIndexed)


Sujet :

Framework .NET

  1. #1
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut [indépendant du langage]Réorganiser la palette d'un bitmap 256c (Format8bppIndexed)
    N'arrivant pas à trouver un outil qui puisse déplacer la place des couleurs dans la palette d'un bitmap j'ai décidé de le faire moi-même, mais j'ai un petit problème.
    Voilà comment je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Bitmap bmp=new Bitmap("image.bmp"); // c'est une image 256 couleurs
    ColorPalette p=bmp.Palette;
    Color tmp=p.Entries[indice2];
    p.Entries[indice2]=p.Entries[indice1];
    p.Entries[indice1]=tmp;
    bmp.Palette=p;
     
    Graphics g=Graphics.FromHwnd(Handle); // Handle est le hWnd de la form
    g.DrawImage(bmp, 0, 0);
    g.Dispose();
    D'après ce que j'ai lu ici, je dois bien faire comme ça.
    L'image dessinée sur la form a bien ses couleurs d'indice indice1 et indice2 échangées.

    Jusqu'ici tout va bien, mais quand je veux sauver l'image modifiée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bmp.Save("image2.bmp");
    Je réobtiens un image identique à l'originale
    Je regarde la palette de image2.bmp avec paint shop pro et je vois que sa palette est la même que celle de image.bmp

    Donc voilà c'est embêtant (faut peut-être définir des paramètres d'encodage dans une des surcharges de Save pour qu'il sache que je veux garder ma palette, mais je sais pas trop ).

  2. #2
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Salut,

    J'ai passé presque deux mois à travailler avec GDI+ mais je n'ai jamais enregistrer les modifications de l'image originale, je travaille comme par reflexe sur une copie de l'image, essaie d'appliquer d'autre modifications sur l'image(une rotation par exemple et regarde si ca fonctionne) sinon tu as ce lien msdn qui traite ton cas avec une copie.

    How to save a .gif file with a new color table by using Visual C#

  3. #3
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    Merci pour ta réponse
    J'ai fait le petit test que tu m'as proposé, et j'ai remarqué que quand je fais une rotation et que je sauve, il sauve bien mes modifications dans la palette !
    Donc ce que je fais c'est ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bmp.RotateFlip(RotateFlipType.RotateNoneFlipX);
    bmp.RotateFlip(RotateFlipType.RotateNoneFlipX);
    bmp.Save("bmp2.bmp", ImageFormat.Bmp);
    C'est un peu bizarre mais bon comme c'est un petit utilitaire pour moi je m'en fous

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/06/2005, 14h36
  2. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16
  3. [langage] comment créer des fichiers ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2002, 16h33
  4. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37
  5. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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