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

C++Builder Discussion :

Comment dessiner un serpentin?


Sujet :

C++Builder

  1. #1
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut Comment dessiner un serpentin?
    Bonjour,

    Je souhaite dessiner un "serpentin bicolor". Je m'explique, je voudrais dessiner les serpentin d'un plancher chauffant avec le dégradé de couleur expliquant les différence de température sans avoir à taper des lignes et des lignes de codes "Canvas-> ..."

    Existe t il un composant permettant permettant facilement de faire ce genre de dessin?
    Existe t il une méthode pour contourner le problème et dessiner des formes non basiques?

    Toute idée est la bienvenue
    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Avec un bitmap 8 bits il me semble qu'il est possible de modifier la palette.
    Cela suppose donc que ce serpentin aura été dessiné sur un bitmap 8 bits (un bitmap 24 ou 32 bits n'a pas de palette).
    Voici ce que ma doc (API Windows) donne :

    The AnimatePalette function replaces entries in the specified logical palette.

    BOOL AnimatePalette(

    HPALETTE hpal, // handle to logical color palette
    UINT iStartIndex, // first entry in logical palette
    UINT cEntries, // count of entries in logical palette
    CONST PALETTEENTRY *ppe // pointer to first replacement
    );

    An application creates a reserved entry in a logical palette by setting the peFlags member of the PALETTEENTRY structure to the PC_RESERVED flag.
    Once this logical palette is selected and realized, the application can call the AnimatePalette function to change one or more reserved entries.
    If the given palette is associated with the active window, Windows updates the colors on the screen immediately.
    A plus !

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut bandit boy:
    Chaque aller retour de ton serpentin est identique
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  4. #4
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Tout d'abord merci messieurs pour vos suggestions.

    henderson, je n'ai pas trop compris l'idée , à quoi peut me servir la palette?
    Tu veux dire que si je dessine mon serpentin vide sur un Bitmap 8 bits, je peux le colorer en dégradé suivant comment je le désire ?

    blondelle, je ne peux pas réellement dire que mes aller retour seront identique, puisque chaque serpentin est différent.

    Pouvez vous m'éclairer d'avantage?
    Merci

  5. #5
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Voici un exemple de ce que je souhaite (très basique)
    Images attachées Images attachées  

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Alors ce que je ferais
    chaque aller et retour peut etre represente comme une canne
    1 - un trace depart (du depart a la premiere canne)
    dans une boucle
    {
    reajustement des axes X et Y si necessaire
    reajustement de la couleur
    2 - un trace en forme de canne disons cote droit (une droite avec une courbe a droite)
    3 - un trace de canne cote gauche (une droite avec une courbe a gauche)
    }
    4 - un trace retour (de la derniere canne au retour)
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

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

Discussions similaires

  1. Comment dessiner une ligne dans un Chart ?
    Par libititi dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2005, 14h56
  2. Comment dessiner sur un Bitmap sans scintillement ?
    Par TOTO32 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 10/01/2005, 10h11
  3. DBGrid, comment dessiner dans les titres des colonnes
    Par dleu dans le forum Bases de données
    Réponses: 9
    Dernier message: 04/11/2004, 17h49
  4. [Transparent] - Comment dessiner sur 2 TImage ?
    Par TOTO32 dans le forum Langage
    Réponses: 15
    Dernier message: 08/08/2004, 01h06

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