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

Delphi Discussion :

Images PNG et stretchdraw


Sujet :

Delphi

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 126
    Par défaut Images PNG et stretchdraw
    Une fois une image PNg chargée dans un TBitmap, aucun problème pour changer ses dimensions par un Canvas.StretchDraw.

    Le problème survient si l'image est partiellement translucide et donc a une couche alpha, car le TBitMap ne la conserve pas.
    Avec PngImage (AlphaScanLine), on peut extraire le masque, mais comment lui donner les même dimensions que l'image elle-même et l'appliquer ensuite à celle-ci?

  2. #2
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Il faut aussi redimensionner le masque alpha de l'image... En fait, il faut :
    1) Extraire l'image opaque et le masque de transparence
    2) Redimensionner les 2 images avec les mêmes dimensions
    3) Refusionner l'image opaque avec son masque

    Maintenant, tu peux le faire avec la lib graphics32, ce qui te permettrait aussi d'effectuer le redimensionnement avec un filtre anti-aliasing et d'obtenir un plus joli résultat... Voir ce sujet :
    http://www.developpez.net/forums/showthread.php?t=27795

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 126
    Par défaut
    Merci Sub0 pour ta réponse.

    Je vais effectivement m'orienter vers la lib Graphics32, qui a l'air d'être une mine pour le traitement des images.

    Par contre avec la méthode PngImage (faire un stretchdraw du masque) , je me demande si elle fonctionne avec un masque 'partial', c'est à dire où la transparence est modulée sur toute l'image, et non pas 'binaire': 100%opaque/100% transparent.

Discussions similaires

  1. [Image]Composition d'images PNG-24
    Par NikoGJ dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/11/2006, 21h05
  2. [D5] Zoom d'image PNG avec transparence
    Par Thierry Laborde dans le forum Delphi
    Réponses: 9
    Dernier message: 12/06/2006, 15h41
  3. [Image] Décomposer une image png.
    Par Quintoff dans le forum 2D
    Réponses: 3
    Dernier message: 06/01/2006, 20h22
  4. [Cross-Browser] Couleur d'une image PNG
    Par [BkM-) dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 17/11/2005, 21h00
  5. [Image]setCursor() et les images *.png
    Par feed_our_vision dans le forum Graphisme
    Réponses: 4
    Dernier message: 13/09/2004, 01h51

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