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

Langage Delphi Discussion :

Moyen le plus efficace de dessiner un trait


Sujet :

Langage Delphi

  1. #21
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 292
    Points : 1 944
    Points
    1 944
    Par défaut
    C'est parce que tu utilise un TImage, lui "sauvegarde" ce que tu traces.

    Désolé pour le paintbox, je te l'avais proposé par rapport aux sources que j'avais trouvé.
    Le TImage proposé par exoseven est une meilleure solution (encore plus avec le TBitmap qui sert de cache, pour la rapidité).

  2. #22
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par Linkin Voir le message
    C'est parce que tu utilise un TImage, lui "sauvegarde" ce que tu traces.

    Désolé pour le paintbox, je te l'avais proposé par rapport aux sources que j'avais trouvé.
    Le TImage proposé par exoseven est une meilleure solution (encore plus avec le TBitmap qui sert de cache, pour la rapidité).
    Maintenant tout marche, dessiner le trait simplement, et en plus avec le mode transparent... voici le code final (en version beta-test je précise, indices brutaux, etc...):

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
      // tentative de dessiner des traits facilement...
      listeTraitsSites:=TObjectList.Create;
      listeTraitsSites.OwnsObjects:=true;
     
      listeTraitsSites.add(TImage.create(self));
     
      monBitmap:=TBitmap.create();
     
      with monbitmap do
      begin
        width:=100;
        height:=100;
     
        Transparent := True;
        TransparentColor := clFuchsia;
     
        canvas.Brush.Color := TransparentColor;
        canvas.FillRect(Rect(0,0,width,height));
     
        canvas.pen.width := 2;
        canvas.pen.color := clblack;
        canvas.moveTo(0,0);
        canvas.LineTo(80,10);
        canvas.moveTo(0,0);
        canvas.LineTo(10,80);
      end;
     
      with TImage(listeTraitssites[0]) do
      begin
        parent:=image9.parent; // image existante sur le panel sur lequel je veux toper
        left:=10;
        top:=10;
        transparent:=true;
        picture:=TPicture(monBitmap);
        visible:=true;
      end;
     
    end;

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Ajouter dans listbox - un moyen plus efficace
    Par AT dans le forum Débuter
    Réponses: 9
    Dernier message: 24/01/2015, 07h04
  2. Réponses: 1
    Dernier message: 27/03/2007, 18h22
  3. Réponses: 1
    Dernier message: 11/05/2006, 16h23
  4. l'indexation la plus efficace
    Par amika dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/02/2006, 16h24
  5. [FLASH MX2004] Dessins de traits en actionscript
    Par l'architecte dans le forum Flash
    Réponses: 2
    Dernier message: 28/07/2004, 13h57

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