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

Langage Delphi Discussion :

Conversion d'images 24/32 Bits -> 16bits


Sujet :

Langage Delphi

  1. #1
    RVP
    RVP est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Conversion d'images 24/32 Bits -> 16bits
    Désolé si je ne suis pas dans le bon Thread, mais c'est mon 1er post sur ce forum et n'en ai pas encore le "plan" en tête.

    J'ai développé en Delphi 7 un logiciel qui construit des skins pour Palm.
    J'ai entre autres des liens possibles avec les logiciels de dessin type Photoshop.
    Le problème est que les skins que j'attaque requièrent des images 16bits et que ces logiciels retournent des 24 bits.

    Comment faire pour convertir ces images en 16bits ?

    Nota : PixelFormat := pf16bit marche effectivement mais dénature totalement les couleurs. Les jaunes deviennent verts ... etc.

    Existe-t-il des composants, des bibliothèques ... pouvant résoudre mon souci ?

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Je pense que le probleme de denaturation des couleurs vient plus de l'utilisation d'une palette que d'autre chose.... En quel format sont tes images ??

    Sinon, tu as pas mal de trucs de reference au niveau graphisme ici :
    http://homepages.borland.com/efg2lab/

    Si ca peut t'aider.....

    Bon developpement !

  3. #3
    RVP
    RVP est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci de ton intérêt pour mon problème.

    Je me doutes bien effectivement qu'il s'agit d'un PB de palette... mais ne sais absolument pas comment résoudre ce souci. J'ai beau tout essayer au niveau des propriétés "palette" des Bmp rien n'y fait.
    Mon problème n'est pas à l'écran mais bien le format du fichier sauvé sur disque.

    Les images m'arrivent depuis photoShop en pf24bit quand je les convertit en mettant pf15bit l'image écran reste propre mais une fois mon skin compilé sur les palm le jaune passe au vert pomme.
    Si j'essauye pf16bit dès l'écran j'ai droit au vert pomme !

    Si je laisse mon image en 24 bits... le compilateur Palm compile ces 24 bits comme étant des 16 bits, les couleurs restent correctes sur le palm mais il y a des bavures de "pixels" noirs sur le bord extème droit de l'image

    Je tourne en rond depuis une semaine...

  4. #4
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Tu fais quoi dans ton code ? Chargement / changement de profondeur de couleur / enregistrement ?

    Si oui, essaye de faire une copie, genre (J'ai pas Delphi sous la main) :
    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
    var
      BS,BD: TBitmap;
    begin
      BS := TBitmap.Create;
      BD := TBitmap.Create;
      try
        BS.LoadFromFile(....);
        BD.PixelFormat := pf16bit;
        BD.Width := BS.Width;
        BD.Height := BS.Height;
        BS.Canvas.CopyTo(BD.Canvas,0,0); // Alors, cette ligne, j'en suis sur qu'a 10%.... Enfin, le truc c'est copier l'image source dans l'image destination.... et tout bien reflechit, je me demande si c'est pas BS.Draw .... enfin, a voir :)
        BD.SaveToFile(...);
      finally
        BS.Free;
        BD.Free;
      end;
    end;
    Ca aide ?

  5. #5
    RVP
    RVP est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci Smortex,

    Les solutions les plus simples sont touijours les meilleures et celles qui marchent. J'avais essayé des tas de trucs très tordus trouvés dans des bouqquins de Dieux techniques... rien ne marchait ... et ta solution est la bonne.

    Merci encore

    Hervé

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 12/03/2006, 15h53
  2. conversion d'image jpeg en tableau de pixel
    Par sophie86 dans le forum Multimédia
    Réponses: 7
    Dernier message: 09/11/2005, 11h30
  3. Convertir une image BMP 8 bits en BMP 24 bits
    Par SauCisS dans le forum Bibliothèques
    Réponses: 17
    Dernier message: 23/03/2005, 09h51
  4. [Image] Affichage image en 12 bits
    Par Plawi dans le forum 2D
    Réponses: 9
    Dernier message: 18/11/2004, 09h34
  5. Conversion avi->image
    Par lio_on_jb_groove dans le forum DirectX
    Réponses: 1
    Dernier message: 17/07/2003, 10h11

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