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é).

Common.pas

PostScriptCanvasUnit.pas

SVGCanvasUnit.pas