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 :

[TImageList] Charger une image dans un TImage


Sujet :

Delphi

  1. #1
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut [TImageList] Charger une image dans un TImage
    Bonjour,

    J'ai un TImageList avec 4 images et 200 TImages. 50 TImages devront charger la première image de la TImageList, 50 TImages devront charger la deuxième image de la TImageList, ...

    Ce que je veux faire, c'est charger dynamiquement les Images dans les TImages à partir du TImageList :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      [...]
     
      ImageList1.Draw(Image1.Canvas, 0, 0, 0, True);
      Image1.AutoSize := True;
      Image1.Transparent := True;
     
      [...]
    Le problème c'est que Image1 n'est pas transparent et qu'il ne se redimensionne pas ...

    D'avance merci pour vos réponses

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ImageList1.GetBitmap(ImageX.Bitmap, Index);
    A vérifier
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Merci pour ta réponse Pedro.

    Non, je n'avais pas essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [...]
     
      ImageList1.GetBitmap(0, Image1.Picture.Bitmap);
      Image1.AutoSize := True;
      Image1.Transparent := True;
     
    [...]
    L'AutoSize fonctionne, mais le transparent ne fonctionne pas ...

    Par contre, en lancant la même image directement dans l'Image1, l'image est transparente.

  4. #4
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Pour ceux que la solution intéresse :

    En fait j'ai contourné le problème et j'ai directement chargé les Images à partir de leur adresse (C:\...) dans le TImage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.LoadFromFile('C:\...');
    Après, il n'y a plus qu'à créer une boucle.

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Attends, il reste une solution. J'avais eu un problème similaire et voila comment j'avais fait:
    Dans le TImageList, met la propriété TransparentColor de chaque Image à clNone (aucune).
    Ensuite, tu les charges comme je t'ai dit dans le TImage (Avec GetBitmap). Et tu mets transparent à true... Essaie de cette façon pour voir...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  6. #6
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    En effet Pedro, ta seconde solution fonctionne !

    Encore merci et bonne programmation !!!

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

Discussions similaires

  1. Charger une image dans une variable avec IE7
    Par Loki13 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2007, 15h19
  2. ouvrir une image dans un timage
    Par Nadirov dans le forum Delphi
    Réponses: 1
    Dernier message: 12/08/2006, 20h32
  3. Charger une image dans un Timage
    Par michel71 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/04/2006, 08h55
  4. [Image] charger une image dans le main
    Par GLDavid dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 31/03/2006, 17h11
  5. Charger une image dans un thread
    Par KRis dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2005, 17h36

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