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 :

Fusionner des images PNG ?


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 74
    Points : 46
    Points
    46
    Par défaut Fusionner des images PNG ?
    Bonjour,

    Je cherche à fusionner des images PNG (avec transparence) pour créer dynamiquement des boutons avec effets.

    Pour l'instant voici les infos que j'ai pu trouver :

    * Un projet de Andnotor qui fusionne des BMP
    http://www.developpez.net/forums/.../superposer-images-format-bmp-jpg-png/#post3916789



    * Une procédure de fusion de PNG par retouche de la couche alpha de l'image.
    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
    procedure DrawPngWithAlpha(Src, Dest: TPNGObject; const R: TRect);
    var
      X, Y: Integer;
      Alpha: PByte;
    begin
      Src.Draw(Dest.Canvas, R);
     
      // I have no idea why standard implementation of TPNGObject.Draw doesn't apply transparency.
      for Y := R.Top to R.Bottom - 1 do
        for X := R.Left to R.Right - 1 do
        begin
          Alpha := @Dest.AlphaScanline[Y]^[X];
          Alpha^ := Min(255, Alpha^ + Src.AlphaScanline[Y - R.Top]^[X - R.Left]);
        end;
    end;
    http://stackoverflow.com/questions/1...e-on-other-png

    Le problème avec cette procédure est que mes transparences se dégradent lors de la superposition :

    A gauche les couches (mal) fusionnées et à droite 3 TImage et un panel pour appliquer la couleur désirée...


    * J'ai également été voir du coté de la librairie Vampyre Imaging mais je n'ai pas trouvé de solution avec pour l'instant.

    Une idée ?

    Merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 74
    Points : 46
    Points
    46
    Par défaut
    Voici la solution avec la librairie VampyreImaging :
    http://galfar.vevb.net/imaging/smf/i...04.msg819.html


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut fusionner deux images
    Bonjour,

    Comment avez vous fait finalement pour fusionner deux images sans perdre de qualité ?

    Merci,

    Fandor

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

Discussions similaires

  1. [WD18] Fusionner des images PNG transparentes
    Par Khyinn dans le forum WinDev
    Réponses: 10
    Dernier message: 14/11/2015, 13h52
  2. Transparence des images PNG sous Internet Explorer
    Par Torpedox dans le forum Webdesign & Ergonomie
    Réponses: 12
    Dernier message: 14/10/2008, 23h41
  3. Problème pour charger des images PNG
    Par milena dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 05/04/2008, 16h20
  4. Charger des images PNG
    Par McBlender dans le forum Développement 2D, 3D et Jeux
    Réponses: 14
    Dernier message: 23/01/2008, 20h41
  5. Où trouver des images PNG pour une application ?
    Par Pythonesque dans le forum Imagerie
    Réponses: 5
    Dernier message: 10/07/2007, 14h44

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