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 :

Tracés de courbes anti-aliasés


Sujet :

Delphi

  1. #1
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut Tracés de courbes anti-aliasés
    Bonjour,

    Suite à cette discussion, voici une question en rapport :

    Existe-t-il une astuce simple pour tracer une courbe anti-aliasée (???) car avec les MoveTo + LineTo on a plein d'escaliers.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  2. #2
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    En utilisant le GDI mais ce n'est pas simple ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     xFrm.eM11 :=width/(M*(xmax-xmin));
     xFrm.eM22 :=-height/(M*(ymax-ymin));
     xFrm.eM12 := 0;
     xFrm.eM21 := 0;
    //--------------------------------
     xFrm.eDx :=-width*xmin/(xmax-xmin);
     xFrm.eDy :=ymax*height/(ymax-ymin);
    //--------------------------------
     SetGraphicsMode(graph.Canvas.Handle, GM_ADVANCED);
     setworldtransform(graph.canvas.handle,xFrm);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const M:integer=1000000;

  3. #3
    Membre confirmé
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Points : 534
    Points
    534
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    Existe-t-il une astuce simple pour tracer une courbe anti-aliasée.
    Je n'ai jamais essayé, mais je pense que le plus rapide serait d'utiliser l'algorithme de tracé de segment de Xiaolin Wu pour joindre les points du tableau.

    Algorithme de tracé de segment de Xiaolin Wu avec anti-aliasing

    Une implémentation en Delphi (améliorable)

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    Merci Caribensila pour le lien je potasserrai à l'occasion.
    Pour l'instant je galère pour tracer une ellipse anti-aliasée avec un algo perso mais je galère davantage pour créer l'array de points contigüs notamment dans le cas d'ellipses très aplaties.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    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 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour Gilbert,

    Retwas semble avoir trouvé la solution dans cette discussion (à laquelle tu avais participé) :

    courbe-polybezier

    mais peut être que sa solution n'est pas simple à mettre en oeuvre ?

    A+

    Charly

  6. #6
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Pour vous convaincre sur l'utilisation du GDI, voici un lien ancien tout à fait satisfaisant pour un tracé de courbes :

    http://www.developpez.net/forums/d64...mathematiques/

    message 12 Franck Soriano

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    A Charly910 :
    Retwas semble avoir trouvé la solution dans cette discussion (à laquelle tu avais participé) : courbe-polybezier
    mais peut être que sa solution n'est pas simple à mettre en oeuvre ?
    ... Ok merci, j'avais oublié cette discussion.
    Par contre pour mon ellipse inclinable je pense être sur la bonne piste, mais faut pas vendre la peau de l'ours avant de l'avoir occis.
    Ma question concernait le cas de courbes quelconques et dans ce cas il faut connaître :
    - d'une part les points où la tangente à la courbe est soit verticale, soit horizontale, soit inclinée à ± 45°,
    - et d'autre part repérer les zones où l'antialias doit être dirigé vers la gauche, le bas, la droite ou le haut.
    Pour l'ellipse c'est assez simple mais pour une courbe quelconque ça peut être un casse tête si sa dérivée est trop compliquée et coûte en temps de calcul. Donc avant de me lancer sur ce cas général je guette les bonnes astuces.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  8. #8
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    @Gilbert Geyer

    pourquoi ignorer les ressource fourni par Archimède

  9. #9
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Citation Envoyé par Montor Voir le message
    @Gilbert Geyer

    pourquoi ignorer les ressource fourni par Archimède
    Merci !

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    pourquoi ignorer les ressource fourni par Archimède
    Je ne les ignore pas, mais comme je suis en train de peaufiner mon ellipse mon objectif est avant tout de l'achever et je potasserai le cas général plus tard.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  11. #11
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 10
    Points : 64
    Points
    64

  12. #12
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    J'allais le Dire :

    GDI+ (à télécharger sur le site de Mitov, rechercher dans google "gdiplus mitov")


    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
     
    var
      Bmp : TBitmap;
      AGraphics       : IGPGraphics;
      APen            : IGDIPlus.IGPPen;
      Pts : array of TGPPointF;
    begin
      { ... }
      AGraphics := TGPGraphics.Create( Bmp.Canvas );
      AGraphics.SmoothingMode := SmoothingModeAntiAlias;
      // for x := 0 to n do
      //   Pts[x] := MakePointF(.., ..);
      AGraphics.DrawCurveF(TGPPEn.Create( IGDIPlus.ColorRefToARGB($FF00FF), 2.0 ), Pts);
      { ... }
      Canvas.Draw(0,0,Bmp);
    end;
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  13. #13
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    Ok, merci les gars, je viens de télécharger IGDIPlus je ferai des essais demain.
    Mais s'il faut en plus utiliser Graphics32 je laisse tomber.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  14. #14
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Super GDI+...

    Un essai sur la courbe à peu de frais...

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,IGDIPlus;
     
    type
     reel=extended;
     
     TReelpoint=record
      x,y:reel;
     end;
     
     Tgraphique=class(Tbitmap)
     private
      xo,yo,xmin,ymin,xmax,ymax,Gx,Gy,taillex,tailley:reel;
      public
      constructor Create(w,h:integer;x1,x2,y1,y2:reel);reintroduce;overload;
      procedure tracerepere(penw:integer;coulpen,clfond:Tcolor);
      procedure tracecourbe(trajectoire:array of TReelpoint);
      Function ptinfo(x,y:reel):TGPPointF;
     end;
     
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormPaint(Sender: TObject);
        procedure FormResize(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Déclarations privées }
        courbe: array of TReelpoint;
        graphique:TGraphique;
      public
        { Déclarations publiques }
      end;
     
    function pt(x,y:reel):TReelpoint;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    function pt(x,y:reel):TReelpoint;
    begin
     result.x:=x;
     result.y:=y;
    end;
     
    constructor Tgraphique.Create(w,h:integer;x1,x2,y1,y2:reel);
    begin
     inherited create;
     width:=w;
     height:=h;
     xmin:=x1;
     xmax:=x2;
     ymin:=y1;
     ymax:=y2;
     taillex:=xmax-xmin;
     tailley:=ymax-ymin;
     Gx:=width/taillex;
     Gy:=height/tailley;
     xo:=-xmin*Gx;
     yo:=ymax*Gy;
    end;
     
    procedure TGraphique.tracecourbe(trajectoire:array of TReelPoint);//tracé de la courbe à partir d'un tableau de points en coods mathématiques
    var  i:integer;
         traj:array of TGPPointF;
         AGraphics: IGPGraphics;
     
    begin
     setlength(traj,length(trajectoire));
     for i:=low(traj) to high(traj) do traj[i]:=ptinfo(trajectoire[i].x,trajectoire[i].y);
     
     AGraphics := TGPGraphics.Create( self.Canvas );
     AGraphics.SmoothingMode := SmoothingModeAntiAlias;
     AGraphics.DrawCurveF(TGPPEn.Create( IGDIPlus.ColorRefToARGB($FF00FF), 2.0 ), traj);
    end;
     
    Function TGraphique.ptinfo(x,y:reel):TGPPointF;
    begin
     result.x:=round(xo+x*Gx);
     result.y:=round(yo-y*Gy);
    end;
     
    procedure Tgraphique.tracerepere(penw:integer;coulpen,clfond:Tcolor); //tracé des axes
    begin
     with canvas do begin
      pen.width:=penw;
      pen.color:=coulpen;
      brush.Color:=clfond;
      fillrect(rect(0,0,width,height));
      moveto(0,round(yo));
      lineto(width,round(yo));
      moveto(round(xo),0);
      lineto(round(xo),height);
     end;
    end;
     
     
    procedure TForm1.FormCreate(Sender: TObject);
    var i:integer;
    begin
     position:=poscreencenter;
     clientwidth:=screen.height div 2;
     clientheight:=screen.Height div 2;
     
     setlength(courbe,101);
     for i:= -50 to 50 do courbe[i+50]:= pt(i/10,sin(2*pi*i/50)); //TABLEAU DE POINTS EN COORDS MATHEMATIQUE
     
     end;
     
    procedure TForm1.FormPaint(Sender: TObject);
    begin
     with graphique do
     begin
      tracerepere(2,0,clwhite);
      tracecourbe(courbe);
     end;
     
     canvas.Draw(0,0,graphique);
    end;
     
    procedure TForm1.FormResize(Sender: TObject);
    begin
      graphique:=TGraphique.Create(clientwidth,clientheight,-5,5,-1.2,1.2); //-5 ...+5  EN ABSCISSE  et -1.2.......1.2 EN ORDONNEE
      invalidate;
    end;
     
    procedure TForm1.FormDestroy(Sender: TObject);
    begin
     graphique.Free;
    end;
     
    end.
    La courbe est nickel...

    joindre IGDIPlusAPI.inc et IGDIPlus.pas au dossier contenant le projet...

  15. #15
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    Héhéhé, je ne vois pas l'interêt d'utiliser Graphics32 si on a GDI+.

    GDI+ est super sympa et la version de Mitov (en comparaison à celle de Progidy) est vraiment bien ficelée et traduite.


    Un aperçu du resultat :

    Images attachées Images attachées  
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  16. #16
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    A Dr Who :
    Héhéhé, je ne vois pas l'interêt d'utiliser Graphics32 si on a GDI+.
    ... Super ça a l'air chouette je vais essayer ce GDI+, merci beaucoup.

    En attendant voici déjà ce que j'ai pu faire avec Delphi-5 standard :
    - Une méthode spécifique pour Ellipses (un peu matheuse : Methode A)
    - Et une méthode pour Ellipses, Trèfles à 4 feuilles etc qui utilise l'algo Xiaolin Wu pour le maquillage antialias des contours.

    Sur ce je vais essayer GDI+.

    A+.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  17. #17
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Re-bonjour,

    Super de super j'ai testé GDI+ avec le code d'Archimède pour commencer : c'est excellent ... merci beaucoup les gars ça a l'air beaucoup plus simple que mon code joint à mon message précédent.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  18. #18
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    Re-bonjour,

    Super de super j'ai testé GDI+ avec le code d'Archimède pour commencer : c'est excellent ... merci beaucoup les gars ça a l'air beaucoup plus simple que mon code joint à mon message précédent.

    A+.

    Oui , c'est remarquable au niveau du résultat et très simple d'utilisation... Je vais approfondir la chose en me faisant une unité spécifique pour les graphes...

    Ton code reste somme toute très intéressant (comme d'habitude )


    a+

  19. #19
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    Oui j'adore aussi GDI+ surtout que le GPGraphics peut calquer les canvas, bitmap d'origine.

    Par contre un conseil, n'utiliser pas GDI+ sur un canvas d'un composant visible directement !
    Passez par un Buffer (TBitmap) ça permet de gagner en performances.


    code Template :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    type
      T{name} = class({TCustomControl / TGraphicControl})
      protected
        procedure Paint; override;
      public
        constructor Create(aOwner: {TControl/TWinControl/TComponent}); override;
        destructor Destroy; override;
      end;
     
    procedure {Control/Component}.Create;
    begin
      Inherited;
     
      fBuffer := TBitmap.Create;
      fBuffer.PixelFormat := pf32bit;
      fBuffer.Width := {ClientWidth / Width / Canvas.ClipRect.Right-Canvas.ClipRect.Left}
      fBuffer.Height := {ClientHeight / Height / Canvas.ClipRect.Bottom-Canvas.ClipRect.Top}
    end;
     
    procedure {Control/Component}.Destroy;
    begin
      fBuffer.Free;
     
      Inherited;
    end;
     
    procedure {Control/Component}.Resize;
    begin
      Inherited;
      fBuffer.Width := {ClientWidth / Width / Canvas.ClipRect.Right-Canvas.ClipRect.Left}
      fBuffer.Height := {ClientHeight / Height / Canvas.ClipRect.Bottom-Canvas.ClipRect.Top}
    end;
     
    procedure {Control/Component}.Paint;
    var 
      GGfx : IGPGraphics;
     // GPen : IGPPen;
     // GBrush: IGPSolidBrush;
     // GFont: IGPFont;
    begin
      fBuffer.Canvas.FillRect(fBuffer.Canvas.ClipRect);
     
      GGfx := TGPGraphics.Create(fBuffer.Canvas);
     
      //// GDI & GDI+ here ////
      // GGfx.Draw{...}(...);
     
      Canvas.Draw(0,0,fBuffer);
    end;

    Je vous remet une petite demo "Bozoon" qui est un Mistify Like fait en GDI+ (Version projet D7), qui utilise la GDIApi de Progdigy (utilisez celle de Mitov dans vos projets bien sur).

    Nom : 50100.cs.jpg
Affichages : 136
Taille : 141,1 Ko
    Fichiers attachés Fichiers attachés
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  20. #20
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Re-salut,

    C'est de plus en plus joli : J'apprécie la finesse des traits de la demo "Bozoon".
    Par contre va falloir que je potasse comment exploiter les possibilités de GDI+ et avec un Help en anglais c'est assez coton ... mais bon.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

Discussions similaires

  1. [Débutant] Récupération et tracé de courbe sous matlab
    Par Guigui973 dans le forum MATLAB
    Réponses: 4
    Dernier message: 14/12/2007, 12h48
  2. tracé de courbe non fait dans Graphics
    Par skud dans le forum C#
    Réponses: 1
    Dernier message: 13/06/2007, 20h18
  3. Tracé de courbe + Régression linéaire
    Par AC88mm dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/05/2007, 14h27
  4. tracé de courbe xy avec mschart
    Par legos dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/09/2006, 15h30
  5. Tracé de courbes ou graphe
    Par dridri86 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 11/04/2006, 16h51

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