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 :

Inclure une image png dans un composant personnalisé


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 53
    Points : 112
    Points
    112
    Par défaut Inclure une image png dans un composant personnalisé
    Bonjour.

    J'aimerais crées un composant graphique et inclure des images png dans le composant lui même. Éventuellement que l'on puisse remplacer les images par la suite lorsque l'on utilise le composant. Mais je n'est pas réussit à faire cela et je n'est rien trouver concernant une telle possibilité.

    Si quelqu'un avait une piste.

    Merci.

  2. #2
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 374
    Points : 3 152
    Points
    3 152
    Par défaut
    Bonjour,

    regarde sur :

    http://pngdelphi.sourceforge.net/

    il y a un composant PNG

    @+

    Charly

  3. #3
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Bonjour,

    Ce lien ne marche pas. tout simplement car le composant PNGDelphi a été intégré dans Delphi depuis D2009.
    Sur quelle version de Delphi cherches tu des composants PNG ?

    Sinon tu peux trouver différentes choses ici :

    http://www.thany.org/article/18/VCL

    ou ici :

    http://www.english.aionel.net/

  4. #4
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 53
    Points : 112
    Points
    112
    Par défaut
    Désoler je me suis mal fait comprendre.

    J'ai la 2009 donc je peux mettre des png dans mes pages sans problème.

    En fait je voudrait crée un composant personnaliser (un trackbar) pour une application. Hors je ne veux pas utiliser les visuel par défaut de windows mais utiliser mes propre visuel, afin d'avoir quelque chose de plus graphique.

    Donc je veux non pas mettre un png dans une application ce que je sais faire, mais mettre les visuel dans un composant personnaliser.

  5. #5
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Citation Envoyé par jv2759 Voir le message
    Désoler je me suis mal fait comprendre.

    J'ai la 2009 donc je peux mettre des png dans mes pages sans problème.

    En fait je voudrait crée un composant personnaliser (un trackbar) pour une application. Hors je ne veux pas utiliser les visuel par défaut de windows mais utiliser mes propre visuel, afin d'avoir quelque chose de plus graphique.

    Donc je veux non pas mettre un png dans une application ce que je sais faire, mais mettre les visuel dans un composant personnaliser.
    Dans ce cas là il suffit de rajouter dans le uses de ton composant l'unité Pngimage et ensuite de déclarer un objet de type TPngImage pour manipuler les images au format PNG.

  6. #6
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 53
    Points : 112
    Points
    112
    Par défaut
    Mais pour que l'image soit "dans" le composant ?

    Comment je lui dit d'aller utiliser la bonne images. Car si j'utilise le même composant dans différent projet je ne veux pas devoir redéfinir les chemin des images à chaque fois.

  7. #7
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Citation Envoyé par jv2759 Voir le message
    Mais pour que l'image soit "dans" le composant ?

    Comment je lui dit d'aller utiliser la bonne images. Car si j'utilise le même composant dans différent projet je ne veux pas devoir redéfinir les chemin des images à chaque fois.
    Dans ce cas là il faut stocker ton image dans un fichier ressource. Mais cela n'a plus rien à voir avec le fait que ça soit un PNG. c'est la même chose pour n'importe quel type d'image ou de fichier que tu veux stocker dans ton composant.

    tu trouveras des infos ici :

    http://delphicool.developpez.com/ressources/

  8. #8
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 53
    Points : 112
    Points
    112
    Par défaut
    Parfait merci, j'avais essayer un peux mais sans réussit. En fait il faut mettre l'image en tant que RCdata, de plus je ne suis pas passer par l'éditeur de ressource de 2009 mais par un logiciel XN Ressource Editor

    Si quelqu'un peux être intéresser voici ce que j'ai utiliser pour que cela marche :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    implementation
     
    uses
      Types;
     
    {$R fichier.res}
     
     
    constructor TRangeSelect.Create(AOwner:TComponent);
    var
      res:TStream;
    begin
    inherited create(AOwner);
    //Chargement Curseur
    res := TResourceStream.Create(hinstance, 'CURSEUR', RT_RCDATA);
    fcurseur1:=TPngImage.Create();
    fcurseur1.LoadFromStream(res);
    res.Free;
    end;
     
    procedure TRangeSelect.Paint;
    begin
    fcurseur1.Draw(canvas,Rect(0,0,10,10));
    end;
    Et encore merci pour cette aide. Notre graphiste vas pouvoir s'éclater...

  9. #9
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Pour info dans l'Objet PNGImage tu peux charger directement une image depuis un fichier ressource :

    fcurseur1:= TPNGImage.Create;
    fcurseur1.LoadFromResourceName(HInstance,'CURSEUR');
    ça simplifie encore plus le code.

    Citation Envoyé par jv2759 Voir le message
    Parfait merci, j'avais essayer un peux mais sans réussit. En fait il faut mettre l'image en tant que RCdata, de plus je ne suis pas passer par l'éditeur de ressource de 2009 mais par un logiciel XN Ressource Editor

    Si quelqu'un peux être intéresser voici ce que j'ai utiliser pour que cela marche :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    implementation
     
    uses
      Types;
     
    {$R fichier.res}
     
     
    constructor TRangeSelect.Create(AOwner:TComponent);
    var
      res:TStream;
    begin
    inherited create(AOwner);
    //Chargement Curseur
    res := TResourceStream.Create(hinstance, 'CURSEUR', RT_RCDATA);
    fcurseur1:=TPngImage.Create();
    fcurseur1.LoadFromStream(res);
    res.Free;
    end;
     
    procedure TRangeSelect.Paint;
    begin
    fcurseur1.Draw(canvas,Rect(0,0,10,10));
    end;
    Et encore merci pour cette aide. Notre graphiste vas pouvoir s'éclater...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/02/2012, 22h49
  2. Réponses: 1
    Dernier message: 03/02/2012, 11h43
  3. Insertion d'une image png dans une base de données
    Par smalldebian dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/08/2009, 08h36
  4. [WD14] API GDI et GDI+ : copier une image PNG dans un champ image
    Par Froglock dans le forum WinDev
    Réponses: 3
    Dernier message: 26/08/2009, 21h40
  5. Mettre une image png dans un Timage
    Par Coussati dans le forum Composants VCL
    Réponses: 7
    Dernier message: 02/03/2006, 18h05

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