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 :

Composant pour image gif


Sujet :

Delphi

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Composant pour image gif
    Bonjour,

    J'ai ajouté une image gif sur une fiche à l'aide du composant Timage.

    J'aimerai que la forme du composant prenne la forme de mon image (car après je veux mettre un événement quand je passerais ma souris dessus).

    Pour l'instant, j'ai le composant qui forme un rectangle autour de mon image (je peux juste mettre le fond du rectangle en transparent avec la propriété "transparent").

    Merci d'avance

    Nicolas

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Essaye un AutoSize de la Form et à l'image, met une couleur dans TransparentColorValue et met TransparentColor à True, tu devrais avoir un effet de transparence sur cette couleur contenu dans l'image ...

    maintenant si tu veux une découpe de la forme pour qu'elle suive les contours de l'image, regarde les "Régions Windows"
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    En fait oui je veux une decoupe de la forme de l'image pour que quand je place plusieurs petites images les unes a cote des autres, je puisse les identifier avec des evenements differents.

    Qu'est-ce que les "regions windows"?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    En fait sous photoshop, j'ai créé au pinceau une petite courbe. Je l'ai enregistré sous format gif (il enregistre la courbe en l'inscrivant dans un rectangle transparent).
    Moi je voudrai que sous delphi, un événement ne se déroule que lorsque je passe la souris sur la courbe (mais pas sur le rectangle transparent).

    Merci

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Dans ce cas le besoin est différent, l'idée serait non pas de réduire la taille du composant aux pixels non-transparents mais de faire dans un évènement OnMouseMove un test sur le pixel actuellement pointée par la souris. Si le pixel est transparent ne rien faire, sinon déclencher ton action spécifique.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Merci Aka Guymelef.

    Mais quand je fais le test avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if Image1.Canvas.Pixels[X,Y]<>0
    Then
    J'ai l'erreur suivante que je ne comprends pas trop :
    Le projet a déclenché la classe d'exception EInvalidOperation avec le message 'Une image ne peut être modifiée que si elle contient un bitmap'.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    En fait il faut que je mette mes images au format bitmap.

    Mais quelle est le code couleur pour le transparent?

    (Le code couleur du transparent a l'air d'être en TColor : 16777215 , car pour l'instant ça marche avec. Bizarre que le code soit aussi compliqué.)

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    J'ai un autre problème .
    Mes composants Timage sont superposés (du moins les parties transparentes rectangles image).
    Donc quand je veux activer l'événement OnMouseMove du composant en arrière plan, il ne s'active au passage de la souris car il y a un autre composant image en avant plan.
    J'espère que vous voyez ce que je veux dire.

Discussions similaires

  1. Composant pour image GIF
    Par michel71 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/02/2008, 21h29
  2. Cherche composant pour charger image sur un JFrame
    Par argon dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 05/05/2007, 11h00
  3. Un composant pour des Images
    Par ChPr dans le forum NetBeans
    Réponses: 3
    Dernier message: 10/04/2007, 14h18
  4. Superposition de composant pour faire une image
    Par spikto dans le forum Composants VCL
    Réponses: 14
    Dernier message: 31/12/2005, 16h18
  5. Images, gifs et icones gratuites pour mon application
    Par Doctor Z dans le forum Windows
    Réponses: 2
    Dernier message: 03/10/2005, 01h10

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