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 :

gestion des contours des png [Archives]


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Par défaut gestion des contours des png
    Hello,

    j'utilise les composants png ce qui me permet de charger n'importe quel type d'image sur une fiche, notamment le format png. J'utilise Delphi 7 Personnal.

    Si je met donc une image png sur ma form, cela donne un résultat impeccable à l'exécution. Les bords de l'image lissés sont respectés, c'est parfait.

    En revanche si j'utilise la fonction "TransparentColor=True" de la fiche avec, pour être sûr, une couleur non utilisé dans mon image (comme le fuschia par exemple) les contours de mon image sont déchirés, comme si la fiche ne respectait plus l'antialiasé naturel de mon image d'origine.

    Pourquoi ? Comment faire ? Faut-il se pencher sur GDi machin chose ?

    Merci

  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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Regarde ce sujet, je suppose que c'est ce que tu veux obtenir :
    http://www.developpez.net/forums/sho...d.php?p=132045

  3. #3
    Membre confirmé Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Par défaut cool
    Citation Envoyé par Sub0
    Regarde ce sujet, je suppose que c'est ce que tu veux obtenir :
    http://www.developpez.net/forums/sho...d.php?p=132045
    Excellent, merci beaucoup !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Par défaut
    Bonjour à tous,
    j'ai le meme problème.
    Mais malheursement je n'ai pas compris malgré les codes précédents.

    C'est à dire que moi aussi j'aimerais créer une form, avec comme fond, un PNG, mais ce PNG aurait une ombre. Donc je recontre le meme problème.

    Comment as tu procédé DarkChamallo ?


    merci

  5. #5
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    As-tu essayé le code donné dans ce post ?
    http://www.developpez.net/forums/sho...hp?p=132045#13

  6. #6
    Membre confirmé Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Par défaut oui mais...
    Je viens de lire le lien, Sub0, car finalement je suis revenu pour demander des précisions que justement ce lien ne mentionne pas.

    La personne remarque, tout comme moi, que toute la fiche disparaît pour ne laisser place qu'à la superbe image png.

    Mais comment faire lorsque l'on veut utiliser des boutons, memos, etc... ?

    Mon but est d'avoir un fond original antialiasé... comme fond de mon programme. Je ne cherche pas juste un beau splashscreen.

    Et là, zut le lien mentionné, Sub0, soulevait la question mais finalement c'est parti sur autre chose

    Comment faire, donc, pour n'appliquer ces lignes de codes uniquement à 2 ou 3 PNG présents sur ma fiche sans pour autant faire disparaître ...tous les objets standards présents (boutons, Edits, Shapes, etc...) ?


  7. #7
    Membre confirmé Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Par défaut
    Citation Envoyé par illuzmax
    Comment as tu procédé DarkChamallo ?
    J'ai suivi les conseils de Sub0

  8. #8
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    A la fin du thread, en bas de la 2ème page, je donne une piste pour solutionner ce problème, et même si la solution peut vous sembler compliquer et fastidieuse à réaliser, il n'en est rien :
    http://www.developpez.net/forums/sho...d.php?p=143227
    Je ne vous promets rien, mais si j'ai quelques minutes de libre, je ferais une démo (probablement cette nuit), à+

  9. #9
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par Sub0
    Dessiner le PNG sur une form indépendante et les controls sur une autre form transparente...
    Oulala, j'aurai peut-être du essayer cette méthode avant, tanpis.
    Donc voilà, c'est carrément plus simple, moins de code, donc moins de bug. J'en ai profité pour ajouter le code pour le chargement d'image PNG. Le seul problème est qu'avec une config pas très puissante, le déplacement saccade. La solution serait de fusionner les forms juste avant le déplacement puis de restaurer après, mais bon, est-ce que ça en vaut la peine ?

    http://sub0.developpez.com/delphi/form2alpha.zip

  10. #10
    Membre confirmé Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Par défaut
    Houba, houba, ça y est je crois alors !
    Tu vas faire des heureux. Depuis l'temps qu'on te dit qu'on veut du PNG Lol...

    Je regrette pas le triturage de neurones, ça m'a fait découvrir un tas de trucs à force de chercher sur le web.

    GroOOos merci de tout coeur

    Au fait, avec un PNG plus grand ça saccade quand je déplace (comme si c'était un objet magnétique attiré par une grille virtuelle), qu'est-ce qui pourrait améliorer ça (avec la même méthode UpdateLayeredWindow, ça le faisait pas à l'origine) ?

    ...mais pour ajouter une image PNG transparente par dessus le fond (comme on pourrait rajouter un button ou edit) celle-ci se retouve avec un contour qui n'est pas antialiasé évidemment...

    ...est-ce qu'une partie de ce code peut être réutilisé au cours de l'exécution pour antialiser les différentes images PNG transparentes que j'affiche sur ma fiche ?

    à moins de fusionner toutes les PNG au début du FormCreate tout en conservant les positions sur la fiche (imagecopymerge en php ?) ?

    Bon, là je te laisse dormir, tout de même

  11. #11
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Tu as cliqué direct sur le lien et t'as posté de suite ton message sans lire le mien ou bien ?
    Citation Envoyé par sub0
    Le seul problème est qu'avec une config pas très puissante, le déplacement saccade. La solution serait de fusionner les forms juste avant le déplacement puis de restaurer après, mais bon, est-ce que ça en vaut la peine ?

  12. #12
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Bon finalement, je l'ai codé rapidos, mais je l'améliorerai après : http://sub0.developpez.com/delphi/pngform.zip

    Qu'en penses-tu ?

    [EDIT] Pour l'ajout d'image PNG, je pense en effet qu'il faudra le dessiner soi-même. En tous les cas, je n'ai pas de compos PNG dans ma palette, donc les images PNG sont toutes crées dynamiquement et dessinées par le programme qui les utilisent... Comme d'hab, il faut capturer l'arrière-plan de l'image, récupérer le bitmap opaque et le masque alpha du PNG, etc (voir la fonction MakeBlend). Mais le plus facile (et performent), c'est effectivement de tout fusionner dès le départ. Je vais coder une fonction pour le chargement des images PNG, ce sera plus simple.

  13. #13
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Excelent, j'ai ajouté les fonctions d'insertion PNG et j'ai fait en sorte à ce que les masques de transparence soit pris en compte dans la fusion... Pour éxécuter cette démo, il faut extraire les fichiers PNG et l'EXE sur le disque dur :

    http://sub0.developpez.com/delphi/pngform2.zip

    ps: Je vais proposer cette source dans la section "sources" du forum, à+

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

Discussions similaires

  1. [GRAPH] [GCHART] Couleur des contours des barres d'histogramme
    Par mohamed_ dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 02/09/2011, 10h18
  2. Réponses: 3
    Dernier message: 30/06/2009, 19h16
  3. Réponses: 2
    Dernier message: 23/01/2008, 23h56
  4. Réponses: 19
    Dernier message: 20/12/2006, 10h15
  5. Gestion des majuscules des miniscules des accent
    Par issam16 dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2006, 14h21

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