Quelques composants et unités Pascal très utiles
Cette section comporte deux
parties:
- Les composants utilisés par le projet HADES
- Deux classes pour le graphisme
Composants
utilisés par HADES
TGlWidget: Composant Delphi/Kylix pour OpenGL: TGLWidget.zip
RXLib: Composants d'interface pour Delphi: RX_275.zip
AkMemoExt: Composant éditeur de texte: akmemoex.zip
AliGrid: Composant grille (pour mémoire): Aligrid21.zip
Classes
TPostScriptCanvas et TSVGCanvas:
Cette section présente quelques unités Pascal très utiles pour le graphisme. Ces unités indépendantes contiennent des classes destinées à faciliter le travail du développeur. Elles sont utilisées dans le logiciel HADES -2000.
Nous commencerons par deux classes , TPostScriptCanvas et TSVGCanvas, qui permettent de générer des fichiers PostScript et SVG.
Ces unités sont compatibles Delphi, Kylix et Free Pascal.
But: Permettre au
développeur d'implémenter facilement des
fonctionnalités de génération de fichiers
PostScript et SVG sans rien connaître de ces langages, en
dessinant dans cet espace à la manière du TCanvas.
Ces deux classes comportent rigoureusement les mêmes
propriétés et méthodes, ce qui permet de
générer du PostScript ou du SVG avec le même
code.
Fonctionnalités générales:
Ce sont à quelques
détails près celles de l'objet TCanvas.
Elles sont conçues pour être utilisables avec le
même code.
Le système de coordonnées utilisé est le
repère mathématique usuel.
Liste des méthodes:
function InitializeDocument: boolean;
Initialise un document graphique:
création du fichier, définition des dictionnaires,
écriture de l'en-tête.
En cas d'échec, retourne False.
procedure FinalizeDocument;
Clôture en toute sécurité un document.
Note importante: Les
opérations de dessin doivent être insérées
dans un bloc if entre InitializeDocument et FinalizeDocument.
Exemple:
if (InitializeDocument) then
begin
// dessiner ici
FinalizeDocument; //
cloturer l'espace de travail
end;
procedure SetDrawingBounds(const X1, Y1, X2, Y2: Double);
Définit les limites du dessin.
procedure SetPen(const
Value: TPenPSProperties);
procedure SetBrush(const Value: TBrushPSProperties);
procedure SetFont(const Value: TFontPSProperties);
Définissent le crayon, la brosse et la fonte courants. Il seront utilisés par les routines de dessin.
procedure WriteCommentaire(const s: string);
Insère un commentaire dans le fichier de sortie.
procedure WriteCommand(const s: string);
Insère une commande dans le fichier de sortie. Ceci est très utile en PostScript pour envoyer des commandes d'ensemble en début de fichier (pour faire une transformation pas exemple).
procedure BeginLayer(const
LayerName: string);
procedure EndLayer(const LayerName: string);
Déclare une nouvelle couche.
Le dessin correspondant à cette couche doit être
inséré entre ces deux commandes.
procedure MoveTo(const X,Y: Double);
Déplace le crayon à la position (X, Y) et la définit comme position courante.
procedure LineTo(const X,Y: Double);
Trace une ligne depuis la position courante
à la position (X,Y) et la définit comme position
courante.
Utilise les paramètres de crayon courants
procedure DrawPoint(const X,Y: Double);
Trace un point à la position (X,Y) avec les paramètres de crayon courants
procedure DrawLine(const X1, Y1, X2, Y2: Double);
Trace un segment entre les points (X1, Y1) et (X2, Y2) avec les paramètres de crayon courants
procedure DrawCircle(const XC, YC, R: double);
Trace un cercle de centre (XC, YC) et de rayon R avec les paramètres de crayon et de brosse courants
procedure DrawPolylign(const Points: array of TPoint2Df);
Trace une polyligne à partir du tableau de points Points, avec les paramètres de crayon courants
procedure DrawPolygon(const Points: array of TPoint2Df);
Trace un polygone plein sans bordure à partir du tableau de sommets Points, ave les paramètres de brosse courants
procedure DrawBorderedPolygon(const Points: array of TPoint2Df);
Trace un polygone plein avec bordure à partir du tableau de sommets Points, avec les paramètres de brosse et de crayon courants
procedure TextOut(const X,Y: Double; const Text: string);
Dessine un texte à la position (X,Y) avec les paramètres de fontes courants.
Téléchargement:
Rappel: Ces unités sont sous licence
GPL. Tout usage, même commercial, autorisé et
gratuit.
Par courtoisie, adresser un email d'encouragement et de suggestions à l'auteur
(c'est un travailleur handicapé).