Façons de produire des informations graphiques dans Delphi. Liste des informations graphiques Composants d'affichage. Liste des composants d'affichage graphique

Description de la présentation sur les diapositives individuelles:

1 diapositive

Description de la diapositive:

2 diapositive

Description de la diapositive:

L'environnement de programmation visuelle de Delphi, ainsi que Windows, prend en charge une interface utilisateur graphique (interface GDI-Graphic Delphi). Dans DelphI, il existe deux façons d'afficher des informations graphiques: la sortie des images pré-préparées; Dessin du programme.

3 diapositive

Description de la diapositive:

La première méthode est basée sur l'utilisation de composants d'image et de forme. Vous pouvez utiliser l'image finie (pictogramme) ou les créer vous-même à l'aide de l'éditeur d'éditeur d'image. La deuxième méthode est la formation d'images par la méthode du programme à l'aide de l'objet Canvas.

4 diapositive

Description de la diapositive:

Delphi a un objet spécial à sa disposition, décoré sous la forme de la propriété de la toile. Il est disponible uniquement pendant le fonctionnement de l'application. Vous pouvez donc gérer uniquement du programme en écrivant le code souhaité dans l'objet Pascal Language. Si l'objet a une propriété de toile, vous pouvez dessiner sur sa surface. Les candidats les plus appropriés pour ce rôle sont la forme et le composant spécial de la peinture.

5 diapositive

Description de la diapositive:

Propriétés d'objet toile: stylo (stylo) - solution pour dessiner des lignes et des limites de formes géométriques. Le stylo suit les équipes du curseur graphique et a à son tour ses propriétés imbriquées: la couleur - détermine la couleur de la ligne (Black par défaut); Mode - style de dessin (a de nombreuses valeurs qui ne sont pas données ici); Le style est un style de ligne pouvant prendre des valeurs: PSSOLID - Solide (par défaut); RSDOSH - Barcar; RSDOT - pointillé; RSDOSHDOT - Code à barres en pointillé (et d'autres applications); Widh - épaisseur de la ligne (1 pixel par défaut);

6 diapositive

Description de la diapositive:

Brosse (brosse) - une propriété pour remplir des chiffres présentant les propriétés suivantes: Couleur - Couleur de brosse (par défaut - Blanc); Style est une ornement de brosses pouvant prendre des valeurs: Bsclear - Coloriage solide; Bshorizontal - lignes horizontales; Bsvertical - lignes verticales; Bsfdiagonal - lignes diagonales gauche; Bsbdiagonal - lignes diagonales droites; bscross - cellule; bsdiagcross - cellule oblique;

7 diapositive

Description de la diapositive:

Font - Propriété pour la sortie de texte ayant les propriétés intégrées suivantes: symboles de couleur - couleur; Hauteur - Hauteur de la police en pixels; Nom - Nom de la police; Taille - Taille de la police; Style -shel police qui peut prendre les valeurs suivantes: fsbold - audacieux; Fsitalique - italique; Fsunderline est déshabillé; Fstrikeout - verrouillé;

8 diapositive

Description de la diapositive:

PENPOS (position de position) - Propriété pour stocker la position de dessin actuelle (détermine la position du stylo dans la zone de dessin pour le moment); Pixels-Solution-Tableau pour enregistrer et lire les coordonnées des points de dessin individuels ("toile").

9 diapositive

Description de la diapositive:

Toile MOVETO (X, Y: INTEGER) Méthodes d'objet - Perverser le stylo de la position actuelle à un point avec les coordonnées x spécifiées, y sans dessiner une ligne; LINETO (X.U: Integer) - pervers un stylo de la position actuelle à un point avec des coordonnées spécifiées x, y avec des lignes; Arc (x1, U1, X2, U2, X3, U3, X4, U4, U4: Entier) - Hills ARC ellipse, inscrit dans un rectangle avec des coordonnées (x1, U1) et (x2, U2). L'arc est déterminé par le rayon de l'ellipse qui passe à travers les points (x3, y3) et (x4, u4);

10 diapositive

Description de la diapositive:

Accord (x1, u1, x2, u2, x3, u3, x4, u4: entier) - ellipses de la horde par la description donnée pour la méthode de l'arc; Ellipse (x1, U1, x2, U2: entier) - dessine une ellipse, inscrite dans un rectangle à l'angle supérieur gauche au point (x1, U1) et à l'angle droit inférieur au point (x2, U2); Fillrect (rect (x1, U1, X2, U2: entier)) - Remplit le rectangle de couleur spécifiée dans la brosse actuelle (brosse). Utilise la fonction rection, qui représente un rectangle avec des coordonnées spécifiées;

Glissière

Description de la diapositive:

Inondation (x, y: entier; Couleur: TColor; Forfstyle: TColor; Fillontyle: TCLRStyle) - Remplissage de la couleur actuelle spécifiée dans la zone de brosse: avec FILLSTYLE \u003d FSBORDER - une zone fermée du point avec des coordonnées x, U à la bordure définie par la couleur Couleur; avec Fillstyle \u003d FSSurface - cette surface de la surface qui a une couleur de couleur; Pie (x1, U1, X2, U2, X3, U3, X4, U4: Entier) - Secteur de l'ellipse, inscrit dans un rectangle avec des coordonnées (x1, U1) et (x2, U2). Le secteur est déterminé par deux radis de l'ellipse passant à travers des points (x3, y3) et (x4, u4);

12 diapositive

Description de la diapositive:

Polyline (points: tableau de tapard) - dessine une ligne brisée, reliant systématiquement les points de la matrice de points; Polygone (points: tableau de tapard) - dessine des polygones, reliant systématiquement les points de la zone. Différent de la méthode polyline en reliant automatiquement la fin de la cassée avec son début; Rectangle (x1, U1, x2, U2: entier) - dessine un rectangle à l'angle gauche gauche au point (X1, U1) et l'angle droit inférieur au point (x2, Y2);

13 diapositive

Description de la diapositive:

La méthode de redressement est appelée si vous avez besoin d'images perverties; RUTRECT (x1, U1, X2, U2, X3, U3: Entier) - son rectangle avec des coins arrondis. Les angles sont tirés comme un quart d'ellipse avec une largeur de x3 et une hauteur de U3; Textout (x, S: Entier, Text: String) - Texte spécifié dans le paramètre texte. Le texte s'inscrit dans le rectangle, dont le coin supérieur gauche a coordonné x, y.

Diapositive 2.

"Affichage des informations graphiques dans Delphi" Plan de sujet: Méthodes d'affichage des informations graphiques à Delphi. Afficher les images. Affichage de formes géométriques. Graphes et graphiques de construction.

Diapositive 3.

1. Méthodes d'affichage des informations graphiques. Dans Delphi, il existe plusieurs façons d'afficher des informations graphiques: la sortie d'images pré-préparées (image des composants, forme); Graphiques de construction et graphiques (graphique des composants, etc.); Formation d'image par programme (objet Canvas).

Diapositive 4.

Afficher des images. Affichage d'images à l'aide du composant d'image considéré dans l'un des sujets précédents. Ici, nous examinerons un exemple de l'animation la plus simple en modifiant périodiquement l'image affichée dans les composants d'image. Aller à l'exemple.

Diapositive 5.

Affichage de formes géométriques. L'affichage des formes géométriques spatiales sur le formulaire fournit le composant de forme.

Diapositive 6.

Affichage de formes géométriques. Les principales propriétés du composant de forme:

Diapositive 7.

Affichage de formes géométriques. De plusieurs composants de forme, vous pouvez créer des dessins simples. Taille de la position de changement de logiciel (.Left, .top) (.Width, .Height) et de la couleur (brosse.color) Composants de forme sur la figure, il est possible de réaliser des éléments de l'animation la plus simple. Considérer un exemple.

Diapositive 8.

Graphes et graphiques de construction. Les graphiques sont conçus pour une représentation plus visible de tableaux de données numériques, de leur affichage visuel et de leur analyse. Exemple. Pour construire des diagrammes dans Delphes, il existe plusieurs composants, l'un d'entre eux composant graphique (section Techart STD).

Diapositive 9.

Graphes et graphiques de construction. Vue du composant graphique après son installation sur le formulaire:

Diapositive 10.

Graphes et graphiques de construction. Outre l'inspecteur "Objet", l'accès aux propriétés du composant graphique peut être obtenu en ouvrant une boîte de dialogue spéciale (composant de bouton droit \\ Modifier le tableau ...) Ajouter une série de types de modifications de données Type de graphique

Diapositive 11.

Graphes et graphiques de construction. Choisir un type de graphique:

Diapositive 12.

Graphes et graphiques de construction. Installation de propriétés pour coordonner les axes (axe):

Diapositive 13.

Graphes et graphiques de construction. Les données d'affichage sont généralement transmises au graphique par programme, un exemple: série1.clear; (Série transparente) pour I: \u003d 1 à N DO SERIER1.ADDXY (I, A [I], '', CLGREEN); Valeur sur la valeur de l'axe X par la signature de l'axe de Y sur la couleur de l'axe X

Diapositive 14.

Suivant: Numéro de travail de laboratoire 13.1. "Affichez des images et des formes géométriques, leur animation." Tâche: 1) Développer une application pour l'animation la plus simple en modifiant périodiquement l'image affichée dans les composants d'image. (Le nombre de photos d'au moins trois, choisissez des images par elles-mêmes).

Diapositive 15.

Tâche: 2) Venez et dessinez un dessin des composants de forme. Modification de manière programmée La position, la taille ou la couleur des composants de forme dans la figure pour effectuer les éléments de l'animation la plus simple.

Diapositive 16.

Suivant: Numéro de travail de laboratoire 12.2. "Graphes et graphiques de construction." Tâche: Modifiez l'application du numéro de travail de laboratoire 9 (Afficher les données dans le tableau). Ajoutez simplement d'afficher certaines données d'une table sur un histogramme ou un diagramme circulaire. 2) Construire un graphique d'une fonction donnée.

Voir toutes les diapositives

Matière :
Objectif de laboratoire Delphes..

Les étudiants doivent apprendre:

  • Créer des graphiques

Partie théorique

Pictogramme Nom Page Objectif
Image (image) Supplémentaire
Forme (forme) Supplémentaire
Drawgridien

(Tableau des images)

Supplémentaire
Graphique

(graphiques et graphiques)

Supplémentaire
Paintbox.

(fenêtre pour dessin)

Système.

Façonner Brosser.

Image:

Graphique:

Méthode Dégager

Méthode Ajouter.

Méthode Addxy

Paintbox:

La tâche 1

Tâche 2.

Tâche 3.

avec Paintbox1, Toile Do

Brosse.color: \u003d claché;

Stylo.color: \u003d clgreen;

Pen.style: \u003d psdash;

Stylo.color: \u003d Claré;

Explication:

La tâche 4

Var i: entier;

Série1.clear;

pour i: \u003d 0 à 22 faire

Série1.Addxy (i * 0.29.10 *péché (i * 0.29), ",clgreen);i * 0.29 (AXVALUE)c'est un argument, et 10* péché (i * 0.29) (Ayvalue)

  1. y \u003d 3.2 * (14 * x)
  2. y \u003d péché (x)
  3. y \u003d cos (x)
  4. y \u003d x 2 + cos (x)
  5. y \u003d x 2 -4.5 * 4

La tâche 5

avec Combobox1 Do

Articles: \u003d écran.font;

  1. Enregistrez et exécutez le projet.
  1. Tâche pour le travail.
  2. Insérer le code écrit par vous
  3. Conclusion sur le travail effectué. Matière : En utilisant des caractéristiques graphiques.

    Objectif de laboratoire - se familiariser avec les opportunités graphiques Delphes..

    Les étudiants doivent apprendre:

    • Créer des pièces graphiques j
    • Utilisez des fonctionnalités graphiques
    • Appliquer des fonctionnalités graphiques
    • Créer des graphiques

    Partie théorique

    Delphi vous permet de développer des applications pouvant générer des graphiques: des systèmes, des dessins, des illustrations. Pour afficher des informations graphiques dans la bibliothèque Delphes, des composants sont fournis, dont la liste est donnée dans le tableau suivant:

    Pictogramme Nom Page Objectif
    Image (image) Supplémentaire Utilisé pour afficher les graphiques: pictogrammes, images bits et métafiles
    Forme (forme) Supplémentaire Utilisé pour construire des primitives géométriques
    Drawgridien

    (Tableau des images)

    Supplémentaire Utilisé pour créer une table dans l'application pouvant contenir des images graphiques.
    Graphique

    (graphiques et graphiques)

    Supplémentaire Utilisé pour créer des diagrammes et des graphiques
    Paintbox.

    (fenêtre pour dessin)

    Système. Utilisé pour créer sous la forme d'une certaine zone dans laquelle vous pouvez dessiner

    De plus, vous pouvez afficher et entrer des informations graphiques à la surface de tout composant de fenêtre ayant la propriété de toile. Les images créées lors de l'exécution de l'application peuvent être à la fois fixes et animées.

    Façonner : Seulement conditionnellement renvoyé aux moyens d'affichage des informations graphiques, car il représente simplement diverses formes géométriques, de manière appropriée ombragée. La propriété principale de ce composant est la forme (formulaire) qui peut prendre des valeurs Brosser. (Brush) - Cette propriété est un objet de type TBRUSH, ayant une série de dépenses excessives, notamment: des formes de remplissage de couleur (brosses.color) et de style (pinceau.style). Le tiers de la propriété spécifique du composant de forme est le stylo (stylo), qui détermine le style des lignes.

    Image: Propriétés de base: Image - est responsable du chargement de l'image, l'étirement - est responsable de la taille de l'image dans le composant d'image, AutoSize - est responsable de la taille du composant dans lequel l'image est chargée en tenant compte de la taille de l'image.

    Graphique: Pour spécifier les valeurs affichées, vous devez utiliser les méthodes de la série série. Considérer trois d'entre eux.

    Méthode Dégager Efface la série des données énumérées précédemment.

    Méthode Ajouter.: - Ajouter (const Avalue: double; const alabel: string; acolor: tcolor)

    vous permet d'ajouter un nouveau point au diagramme. Le paramètre Avalue correspond à la valeur de valeur ajoutée et l'argument de fonction est rempli automatiquement, il n'est donc pas nécessaire de la spécifier, le paramètre Alabel est le nom qui sera affiché sur le diagramme et dans la légende, l'acolor est de couleur. Le paramètre Alabel n'est pas requis, il peut être réglé vide: ".

    Méthode Addxy - Addxy (Const Axvalue, Ayvalue: Double; Const Alabel: String; Acolor: TColor)

    vous permet d'ajouter un nouveau point dans le calendrier de fonction. Les paramètres de l'axvalue et de l'ayvalue correspondent à l'argument et aux fonctions. Les paramètres d'Alabel et d'Acolor sont les mêmes que dans la méthode d'ajout.

    Paintbox: Situé sur la page System. C'est une fenêtre facile avec une canva, où vous pouvez dessiner des images arbitraires. Les outils graphiques sont contenus dans les propriétés de la police, de la brosse et du stylo. La toile (toile) est contenue dans la propriété des composants de toile. Le dessin est programmé dans le gestionnaire d'événements Onpaint.

    La tâche 1

    1. Créez un programme qui vous introduit à la composante image. Vous devez placer les composants: étiquette, image, bitbtn, bouton. Signez comme dans l'image et téléchargez une image. Définissez les composants sur image1 L'image fait partie de la structure et dans l'image2 l'image correspond à sa taille. Faire des astuces contextuelles, lorsque vous survolez pour chaque image, la propriété Indiquée est responsable des invites, vous devez entrer dans le texte et permettre des invites dans la propriété Showhint.

    Tâche 2.

    1. Augmentez la taille du formulaire et ajoutez des composants: forme, étiquette. S'abonner.
    2. Chaque composant de forme applique leurs styles selon l'image:

    Tâche 3.

    1. Par exemple, nous avons une composante de peinture sur la forme. Hangler sur Pays:

    avec Paintbox1, Toile Do

    Brosse.color: \u003d claché;

    Tarte (12 100 140 280,12 100 140,280);

    Stylo.color: \u003d clgreen;

    Pen.style: \u003d psdash;

    Rectangle (120,60, largeur, hauteur);

    Stylo.color: \u003d Claré;

    Polyligne ();

    Textout (75.20, 'Voici votre texte!');

    Explication:La première chaîne définit la couleur de remplissage: brosse.color: \u003d Claré; La deuxième partie de l'ellipse: tarte (12 100 140 280,12 100 140 280); Les lignes suivantes définissent les paramètres du stylo (qui seront tranchants avec des figures), la largeur, la couleur et la ligne de style: stylo.Width: \u003d 4; Stylo.color: \u003d clgreen; Pen.style: \u003d psdash; Mais dans ce cas, nous verrons une ligne solide, comme avec une épaisseur de plus d'un pixel, le style des lignes sera pssolide (solide). La ligne suivante est responsable du dessin d'un carré: rectangle (120,60, largeur, hauteur); Une étoile rouge dessine la commande suivante: polyligne (); La dernière ligne est responsable de la sortie du texte: Textout (75.20, "Voici votre texte!");

    La tâche 4

    1. Pour créer un programme qui construit un calendrier donné de la fonction y \u003d 10 * sin (x)

    1. Agrandir dans la taille de la taille et placez les composants ComponentTTSTHART de l'onglet Additionné et placez le bouton, composant d'étiquettes. Étirez une nouvelle ergot à commenter pour développer la taille.
    2. Nous allons à l'éditeur du double graphique en appuyant sur le composant. Modifier et configurer l'apparition de la série. Pour ce faire, cliquez sur Ajouter et sélectionner le type de graphique de ligne et cliquez sur OK. Pour modifier le titre, appuyez sur Titre et entrez la formule Y \u003d 10 * SIN (X).
    3. Spécifiez le code pour dessiner un graphique dans le bouton Button OnCliquez sur le bouton Composant:

    Var i: entier;

    Série1.clear;

    pour i: \u003d 0 à 22 faire

    Série1.addxy (I * 0.29.10 * Sin (I * 0.29), ", CLGREEN);

    Explication: Méthode série1.clear; Efface la série des données énumérées précédemment, de sorte que lors de la mise à niveau n'a pas été des valeurs anciennes. Pour dessiner des graphiques, les valeurs sont nécessaires, dans notre cas, 22 valeurs à laquelle le graphique dessine la fonction Série1.Addxy (i * 0.29.10 *péché (i * 0.29), ",clgreen);i * 0.29 (AXVALUE)c'est un argument, et 10* péché (i * 0.29) (Ayvalue)la valeur de la fonction de calcul, le nom "(ALABEL) qui sera affichée sur le diagramme et dans la légende peut être laissée en blanc et les lignes de couleur CLGREEN (ACOLOR).

    1. Seul pour effectuer la tâche suivante: dessiner un calendrier de fonctions
    2. y \u003d 3.2 * (14 * x)
    3. y \u003d péché (x)
    4. y \u003d cos (x)
    5. y \u003d x 2 + cos (x)
    6. y \u003d x 2 -4.5 * 4

    La tâche 5

    1. Créez une application qui vous permet d'afficher des symboles des polices système.
    2. Agrandir la taille de la taille, Place Dreamgrid1, Combobox1, Étiquette. Définissez les propriétés suivantes du composant DREAREGRID1: RowCount \u003d 7, colcount \u003d 32, fixcols \u003d 0, fixtrols \u003d 0, DafaultColwidth \u003d 20, défaultrowheight \u003d 20.
    3. Pour que le contenu de chaque cellule redessinait, créez un gestionnaire d'événements ONDRAWCELL pour le composant DREAREGRID1. Pour l'image des symboles de police, nous utilisons la propriété Toile du composant DREAREGRID1. Nous avons immédiatement besoin de la méthode Textrect des propriétés de toile. Cette méthode est utilisée pour afficher des informations de texte dans une cellule spécifique. Le gestionnaire d'événements ressemblera à ceci:

    Drawgrid1.canvas.textrect (rect, rect.left, rect.top, char ((arow + 1) * 32 + acol));

    1. Enregistrez le projet. Assurez-vous que dans les cellules de la table affiche les caractères de police système par défaut.
    2. Pour sélectionner la police, nous utilisons le composant ComboBox1. Pour que ce composant contienne toutes les polices à l'écran, il est nécessaire de les créer lors de la création d'un formulaire. Les noms de toutes les polices d'écran peuvent être trouvés à l'aide d'un type d'écran de variable global TSCREEN. Cette variable est automatiquement ajoutée à toutes les applications Delphi. La variable d'écran contient des informations sur l'état actuel de l'écran d'application: noms des formulaires et modules de données utilisés par l'application; données sur la forme active et les composants utilisés par ce formulaire; taille et résolution de l'écran utilisé; Informations sur les applications et les polices disponibles. Les informations sur les polices d'application disponibles sont contenues dans la propriété Police appartenant à la variable d'écran.
    3. Créez un gestionnaire d'événements Oncreate pour le formulaire et entrez des opérateurs:

    avec Combobox1 Do

    Articles: \u003d écran.font;

    Itemindex: \u003d items.indexof (Font.Name);

    1. Enregistrez et exécutez le projet. Le composant DREAREGRID1 contient les symboles de police installés sur Combobox1.
    2. Afin d'associer la valeur du nom de police de Drawgrid1 et de Combobox1, créez un autre gestionnaire d'événements:

    Drawgrid1.font.name :\u003dcombobox1.text;

    1. Enregistrez et exécutez le projet.
    1. Nombre, sujet, travail de laboratoire.
    2. Tâche pour le travail.
    3. Description des données d'entrée, d'intermédiaire et de résultats indiquant leur type.
    4. Programme de programmation.
    5. Le résultat du programme (données saisies et données obtenues)
    6. Insérer le code écrit par vous
    7. Conclusion sur le travail effectué.

Travailler avec des graphiques À Delphes, ce ne sont pas seulement des lignes et des dessins, mais également d'imprimer des documents texte. Donc B. Delphi travaille avec des graphiques Vous devez donner un peu de temps. Travailler avec le graphiques à Delphes. Cela implique un appel à la toile - la propriété en toile des composants. Canvas Delphi. C'est une toile qui permet au programmeur d'avoir accès à chacun de son propre point (pixel) et comme si l'artiste apparaît ce qui est requis. Bien sûr dessiner pixel! travailler avec des graphiques Delphi n'a pas besoin, Delphi fournit un puissant outils pour graphiquesfacilitant la tâche du programmeur.

En travaillant avec des graphiques à Delphes, le programmeur contient une toile (toile, toile - Propriété Toile. Composants Delphes), crayon (propriété Stylo.), Brosse (brosse de propriété) de ce composant ou objet sur lequel il est supposé tirer. Au crayon Stylo. et brosses Brosser. Vous pouvez changer la couleur (propriété couleur) et le style (propriété de style). L'accès aux polices fournit la propriété de la toile Police de caractère. Ces outils permettent d'afficher à la fois du texte et des graphiques suffisamment complexes de contenu mathématique et d'ingénierie, ainsi que des dessins. Outre, travailler avec des graphiques Vous permet d'utiliser de telles ressources dans Delphes les fenêtres Comme des fichiers graphiques et vidéo.

Bien sûr, tous les composants de Delphi n'ont pas ces propriétés. Sur l'onglet Supplémentaire Situé un composant spécialisé TIMAGE.spécialement conçu pour dessiner, mais aussi la propriété Toile. Par exemple, des composants tels que ListBox, Combobox, StressGrid, ainsi que la forme elle-même, qui place nos composants! De plus, Delphi est passé à imprimer la propriété en toile d'un tel objet en tant qu'imprimante.

La propriété principale d'un tel objet comme toile Delphi - Pixels. Taper Tcolor.C'est-à-dire qu'il s'agit d'une matrice bidimensionnelle de points (pixels) posées par leur couleur. Dessin sur toile se produit au moment de l'attribution de tout point de la toile de la couleur spécifiée. Chaque pixel peut être affecté à n'importe quelle couleur disponible pour Windows. Par exemple, exécution de l'opérateur

Image1.canvas.pixels: \u003d Claré;

Conduira à un dessin de point rouge avec des coordonnées. Apprenez que la couleur du pixel peut être inversée:

Couleur: \u003d image1.canvas.pixels;

Un type Tcolor. Défini comme un long tout (longint). Ses quatre octets contiennent des informations sur les actions de Blue (B), de couleurs vertes (g) et rouge (R). Dans un 16 riche cela ressemble à ceci: $ 00bbggrr. La part de chaque couleur peut varier de 0 à 255. Par conséquent, pour afficher le point rouge maximum, il doit être attribué. couleur $ 000000FF..
Pour les couleurs standard dans DelphI, un ensemble de constantes de texte est définie. Vous pouvez le voir en ouvrant la propriété Color de l'inspecteur d'objets, par exemple le même formulaire.

Le tableau suivant contient des propriétés et des méthodes de toile:

Procédure de TextOut (X, Y: Entier; const. Texte: widstring);
Mettre la ligne TEXTE. En commençant par (x, y) - le pixel supérieur gauche du texte.
Propriété textwidth ( var. Texte: String): Integer;
Contient une longueur de chaîne TEXTE. En pixels.
Textheight Property ( var. Texte: String): Integer;
Contient la hauteur de la chaîne TEXTE. En pixels.
La procédure MOVETO (X, Y: Entier);
Déplace la position sur le pixel avec l'adresse (x, y).
La procédure de lineto (x, y: entier);
Donne dessiner une ligne droite du point de la position actuelle au pixel avec l'adresse (x, y). L'adresse (x, y) devient le point de la position actuelle.
Procédure de remplissage ( const. Rect: trect);
Remplit le rectangle Rect. Sur toile en utilisant la brosse actuelle. Il peut être utilisé, y compris pour effacer une partie de l'image sur la toile.

Nous écrirons en utilisant uniquement ces méthodes de toile, une application d'une image sur le composant Canvas Image. texte entré dans le composant Note.:

La première chose que nous ferons est d'initialiser les variables lors du démarrage du programme. Il est nécessaire de déterminer les dimensions de la zone de dessin (créer un trect de type de type variable global) et faire la couleur de la couleur Image. Blanc:

procédure. Tform1.formcreate (expéditeur: togject);
commencer.
Rect.left: \u003d 0;
Rect.top :\u003d0;
Rect.right: \u003d image1.Width;
Rect.bottom: \u003d image1.Height;
Image1.canvas.brush.color: \u003d clwhite;
finir.;

Puis dessinez un cadre de l'image:

procédure. Tform1.page;
commencer.
avec. Image1.canvas. fais.
commencer.
MOVETO (0, 0);
LINETO (image1.width-1, 0);
LINETO (image1.Width-1, image1.height-1);
LINETO (0, image1.Height-1);
LINETO (0, 0);
finir.;
finir.;

Essayons ce qui s'est passé. Tout fonctionne, mais le cadre n'est pas encore affiché. Par conséquent, ajoutez la procédure page Dans la procédure Formcreate.. Maintenant beau. Ensuite, écrivez une procédure d'effacement simple, image de nettoyage. Il aura besoin de l'appeler avant toute mise à jour de l'image, sinon les images précédentes et ultérieures se chevauchent.

procédure. Tformulation1.Clearing;
commencer.
Image1.canvas.fillrect (rect); //Rectangle Rect. Rempli de blanc, l'image est effacée.
finir.;

Maintenant, il est venu à la file d'attente de la procédure de sortie de texte. Nous commençons à afficher du texte du point 3, 3) - le coin supérieur gauche de la feuille, avec une petite indentation de 3 pixels. Chaque ligne ultérieure sera décalée à la hauteur de la ligne:

procédure. Tform1.prn;
var. I: Integer;
commencer.
avec. Image1.canvas. fais.
pour I: \u003d 1 à. Mémo.lines.Count fais.
Textout (3, 3+ (I-1) * TEXTHEIGHT ("A"), MEMO1.LINES);
finir.;

Maintenant, tout est prêt pour la sortie du texte. Est-ce que cela sera sur l'événement Onchange:

procédure. Tform1.memo1Change (expéditeur: togject);
commencer.
Clairière;
Prn;
Page;
finir.;

Eh bien, enfin, la procédure de changement de la taille de la police:

procédure. Tform1.edit1Change (expéditeur: togject);
commencer.
Mémo1.font.size: \u003d updown1.position;
Image1.canvas.font.Size: \u003d updown1.position;
Mémo1change (expéditeur);
finir.;

Vous pouvez modifier ce programme pour émettre du texte à imprimer. Pour travailler avec l'imprimante, vous devez connecter le module. Imprimantes.:

unité. Unité 1;

Interface.

les usages.
Windows, messages, sysutils, variantes, classes, graphiques, commandes, formulaires,
Dialogues, stdctrls, Imprimantes. ;

Lorsque vous travaillez avec une imprimante, comme un Web pour l'impression de démarrage, une méthode est appelée. Begindoc., Alors le document est émis, l'appel est terminé en appelant la méthode. Enddoc.:

Imprimante.begindoc;
avec. Imprimante.canvas. fais.
commencer.
... imprimer un document ...
finir.;
Imprimante.enddoc;

La largeur et la hauteur de la bande d'imprimante sont disponibles via des propriétés. Imprimante.pageWidth et Imprimante.pageheight. Terminer l'impression sur une page et commencez à taper à un autre à l'aide de la méthode Imprimante.Newpage..

Travail de laboratoire

MATIÈRE: « Graphics B.Delphes. - Construction de la plus simple
figures géométriques "

Brève information de la théorie

Delphi fournit au développeur trois façons d'afficher des graphiques:

    construire des graphiques lors de l'exécution du programme

    utilisation d'images graphiques pré-créées

    création d'images utilisant des composants graphiques

Pour construire des graphiques, des classes spéciales fournissant des outils et des méthodes de dessin sont créées: des outils sont décrits dans trois classes - TFont, TPEN, TBRUSH; Zone de dessin et méthodes fournit une classe TCanvas.

ClasserTfont. - Spécifie les caractéristiques de la police que le texte sur la canva est affichée. Les propriétés de la classe sont décrites dans la section "Propriétés de base disponibles pour la plupart des composants".

ClasserTPEN.- Définit les caractéristiques du stylo (crayon), avec laquelle les lignes sont dessinées.

Propriétésclasser TPEN.:

Couleur: TColor - Couleur de la ligne (par défaut - Noir)

Largeur.: Ligne de serrage entier en pixels;

Style. \u003d (Pslid, psdhumbe, psdot, psdashdot, psclear) - détermine le style de ligne (solide, pointillé, pointillé, bar-pointillé, invisible)

ClasserTbrush.- Spécifie les caractéristiques de la brosse que les surfaces de surface sont peintes.

Propriétés classer Tbrush.:

Couleur: TColor - Couleur de brosse (par défaut - Blanc)

Style. - L'ornement de la brosse peut prendre des valeurs:

BSSOLID - Coloriage solide

Bsclear - Manque de top

Bsvertical - Lignes verticales

Bsbdiagonal - lignes diagonales droites

Bsdiagcross - cage oblique

Bshorisonal - lignes horizontales

Lignes diagonales BSFDIAGONAL -UM

Bscross - cellule

ClasserTcanvas. - Détermine la surface sur laquelle l'image générée est placée et les outils avec lesquels l'image est créée: une police, un crayon, une brosse.

En tant que zone de travail (toile, "Canvas"), la totalité du client du formulaire est utilisée par défaut (sans tête, menu principal et lignes de défilement), mais vous pouvez détourner des zones de travail plus petites à l'aide du formulaire à l'aide de composants. Paintbox. ou alors Image.. Le début des coordonnées de la toile - le coin supérieur gauche de l'espace de travail, la largeur de l'espace de travail est déterminée par la propriété. Clientwidth., Hauteur - Propriété Client.

Propriétés classer Tcanvas.:

Toile.: Tcanvas - détermine la zone de dessin

Brosser.: TBRUSH - Pinceau pour Torset Figures fermées

Police de caractère: Tfont - Font pour afficher le texte sur Canva

Stylo.: TPEN - crayon (stylo) pour dessiner

Penpos.: Tappoint - la position actuelle du curseur invisible sur la toile

Commenter : Type Tpoint - est défini comme suit:

Type Tpoint \u003d Enregistrement

Pixels:TColor - Spécifie les couleurs des pixels de la toile, X, Y - les coordonnées du pixel. La propriété Pixels est pratique à utiliser pour la construction de graphiques utilisant les points de la couleur sélectionnée.

Méthodes de base de la classe TCanvas

    procédure. Déménager à.(x, y: entier); - Déplace le stylo sans dessiner la ligne à un point avec des coordonnées (x, y).

    Procédure. LINETO.(x, y: entier); - Dessine une ligne du point de courant au point avec les coordonnées (x, y).

Exemple Dessinez une ligne bleue diagonale sur la forme de l'angle supérieur gauche de la forme dans le coin inférieur droit.

Stylo.color: \u003d clable;

MOVETO (0,0); LINETO (Clientwidth, Clientight);

    procédure. Rectangle.(x1, y1, x2, y2: entier); - dessine un rectangle: x1, U1 - coordonnées du coin supérieur gauche; X2, coordonnées U2 du coin inférieur.

Exemple : Dessinez le carré carré avec un côté de 60 pixels au milieu de la forme.

var.XC, YC: Entier; //

Xc: \u003d Clientwidth Div 2;

Xy: \u003d clientHeight Div 2;

Canvas.brush.color: \u003d cilyle;

Canvas.rectangle (XC-30, YC-30, XC + 30, YC + 30);

    procédure. Ellipse(x1, y1, x2, y2: entier); - Dessine une ellipse, inscrite dans un rectangle avec les coordonnées spécifiées.

Exemple : Dessinez une ellipse, inscrite dans la composante Paintbox.

Peinturebox1.canvas.pen.width: \u003d 4; // largeur de ligne \u003d 4 pixels

Paintbox1.Canvas.ellipse (0,0, Paintbox1. Clientwidth, Paintbox1. Clientight);

    procédure. Polygone.(); - Dessine une coordonnée multi-montée fermée avec une gamme de coordonnées.

Exemple : Tracez un losange peint reliant le milieu des côtés de la forme

Var.XC, YC: Entier; // coordonnées du centre de la zone client de la forme

Xc: \u003d Clientwidth Div 2;

Xy: \u003d clientHeight Div 2;

Canvas.brush.color: \u003d RVB (275,140,70); // orange couleur torses

Canvas.polygon ();

finir;

    Procédure. Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4, Y4, Y4, X4, Y4: Entier); - Affiche une arc ellipse délimitée par un rectangle (X1, U1, X2, U2). L'arc est affiché à partir du point avec les coordonnées (x3, y3) au point avec les coordonnées (x4, u4) vs Dans le sens des aiguilles d'une montre.

Exemple : Dessinez un arc ellipse reliant le milieu de la face supérieure du composant
Peinture avec le milieu de son côté droit.

Procédure tform1.button1click (expéditeur: togject);

Var. X3, Y3, X4, Y4: Entier;

Avec la peinture11 faire.

Canvas.pen.color: \u003d clwhite;

Canvas.pen.width: \u003d 3;

Canvas.Rectangle (0, 0, Paintbox1.ClientWidth, Paintbox1.Clientheight);

X3: \u003d Clientwidth Div 2;

X4: \u003d Clientwidth;

Y4: \u003d clientHeight Div 2;

Canvas.pen.color: \u003d Clmaron;

Canvas.arc (0, 0, Paintbox1.ClientWidth, Paintbox1.Clientheight, X3, Y3, X4, Y4);

Finir;

    procédure. Accord. (X1, Y1, X2, Y2, X3, Y3, X4, Y4, Y4, Y4, X4, Y4: Entier); - Dessine d'accord - droit, reliant 2 points de l'ellipse: point avec coordonnées (x3, y3) avec un point (X4, U4).

Exemple : Mettez l'exemple donné pour la méthode Arc, la méthode des accords et obtenez un tel résultat.

    procédure. Tarte(X1, Y1, X2, Y2, X3, Y3, X4, Y4, Y4, Y4, X4, Y4: Entier); - Dessine un segment d'ellipse reliant le centre de l'ellipse avec des coordonnées (X3, Y3) et (x4, U4).

Exemple : Soumettre dans l'exemple donné pour la méthode Arc, la méthode de la TRC et obtenez un tel résultat.

    procédure. Textout.(X, y: entier; texte: chaîne); - Affiche la chaîne transmise dans le paramètre texte, dans le rectangle, dont le coin supérieur gauche est défini par les coordonnées x, y. Les caractéristiques de la police sont définies par l'outil Police.

Exemple : Remettre le nom du graphique construit au bas du formulaire.

Canvas.font.Height: \u003d 20 ; // Hauteur des symboles 20 pixels

Canvas.font.color: \u003d Clable;

Canvas.textout (10, greveight-24, graphique de fonction 'sin (x)');

Composants graphiques

Delphi propose un certain nombre de composants prêts à l'emploi qui vous permettent d'améliorer l'interface utilisateur. Ces copolons sont affichés sur la page Supplémentaire et Système. Palettes de composants.

ComposantImage.(ClasserTIMAGE.) - Créé pour afficher des images graphiques stockées dans des fichiers non résolus avec des extensions:

    Ico (icône, pictogramme);

    BMP (image raster, bitmap);

    WMF, .emf (métafile);

    Jpg, .jpeg (image comprimé par le format JPEG).

Maintenance propriétés :

Autosize.: Boolean - avec la valeur de true, le composant ajuste ses dimensions pour la taille de l'image chargée; Par défaut Faux.

S'étirer.: Boolean - avec une valeur réelle, la valeur charrable occupe toute la zone de composant; Par défaut - Faux.

Toile.: TCanvas doit dessiner à l'intérieur du composant à la phase d'exécution du programme.

Photo: TPICTURE-détermine l'image placée dans le composant.

Maintenance méthodes classer Tpicture.:

Procédure. Loadfromfile.(Nom de fichier: chaîne); - Charge l'image du fichier avec le nom du nom de fichier sur le composant.

Procédure. Savetofile.(Nom de fichier: chaîne); L'image du composant au fichier nommé nom de fichier.

ComposantPaintbox. - détermine la zone rectangulaire pour dessiner. Propriété principale - Toile., Toutes les méthodes de classe TCanvas sont disponibles, ne disposent pas de propriétés indépendantes.

Exemple : Dessinez une ellipse jaune, inscrite dans la composante Paintbox1.

Procédure Tform1button1Cliquez sur (Sender: Togaject);

Avec Paintbox1.Canvas DO.

Brosse.color: \u003d Clallal;

Ellipse (0,0, Paintbox1.ClientWidth, Paintbox1.Clientheight);

finir.;

ComposantBitbtn.raster knopac

BOUTON BITBTN, contrairement à la norme, peut contenir une image spécifiée dans le titre (légende). Glyphe.. Il existe un ensemble de boutons BITBTN standard, avec des propriétés prédéfinies (avec une image spécifique, une inscription et une affectation) - le type de bouton standard est sélectionné via la propriété. Gentil.. Gentil \u003d (bkcustom, bkabort, bkccancel, bkcler ...)

Tâche numéro 1

Créez une application contenant sur la forme principale de deux composants image et 4 boutons ("Image de téléchargement", "Créer une forme géométrique", "Modifier la couleur", "Sortie") et vous permet de:

a) Chargez au composant image1 sélectionné par l'image graphique de l'utilisateur afin que l'image occupe toute la zone du composant d'image.

b) Sous la composante image1, affichez l'inscription "Il s'agit d'une image du fichier.

(Avec toute mesure de la taille et de la position du composantImage.1 L'inscription doit
il y a strictement sous le composant).

c) Dessinez à l'intérieur du composant image2, une forme géométrique: un segment ellipse peint reliant le milieu du composant d'image avec le milieu et le côté droit du composant d'image.

(Avec n'importe quel changement de taille et de position du composantImage.2 La figure doit être construite correctement, c'est-à-dire Selon la tâche concernant le composantImage.2)

d) Modifiez la couleur de la ligne dessinée dans l'image2 les chiffres à la demande de l'utilisateur à l'aide du composant Colordialog.

Numéro de tâche 2.

Créez une application qui vous permet d'organiser plusieurs inscriptions dans le composant image (par exemple, le mot "hurray!"). Pour mettre en œuvre, utilisez le numéro aléatoire Randomize Generator et la fonction aléatoire.

La taille de la composante image, le mot affiché dans l'image et le nombre de mots - doit entrer l'utilisateur.

Tâche numéro 3.

Créez une application qui vous permet de sélectionner le nom de la forme géométrique dans la liste Listbox et de dessiner la figure sélectionnée dans le composant image. La couleur de la forme est choisie dans le composant Radiogroup.

Tâche numéro 4.

Divisez le composant Paintbox1 sur 4 parties égales, pressez chaque partie de couleur différente, par exemple: bleu, jaune, vert, rouge.

Près de chaque coin de la Paintbox1, écrivez les coordonnées de cet angle (par rapport à l'origine des coordonnées de formulaire sur lesquelles se trouve le composant Paintbox1).

Tâche numéro 5.

DE

choisissez parmi le composant Radiogroup1 Le type de figure dessinée, du composant Radiogroup2 - la couleur de la plaie et dessinez dans le composant d'image de la figure sélectionnée.

Numéro de tâche 6.

Créez une application qui vous permet de spécifier les tailles utilisateur du composant Paintbox1 (en pixels).

Divisez la composante Paintbox1 sur 2 parties égales, à l'intérieur de chaque partie pour dessiner Ellipse, peinte dans la couleur sélectionnée par l'utilisateur dans le Colordialog.

Numéro de tâche 7.

DE prenez une application qui permet:

sélectionnez le nom de la forme géométrique dans la liste Listbox et dessinez la figure sélectionnée dans le composant image. La figure doit être peinte avec la couleur sélectionnée par l'utilisateur dans le composant Colordialog, si la valeur "oui" est sélectionnée dans le composant Radiogroup.

Numéro de tâche 8.

Créez une application qui vous permet de spécifier les tailles utilisateur du composant Paintbox1 (en pixels).

Divisez le composant Paintbox1 en 4 parties égales, à l'intérieur de chaque partie, dessinez une forme géométrique différente (ellipse, losange, triangle et rectangle). La couleur de chaque figure choisit l'utilisateur de Colorgrid.

Numéro de tâche 9.

Rose de la liste de liste Nom de la géométrique
chiffres (ellipse, losange, rectangle) et dessiner
la figure sélectionnée dans le composant image. Emplacement
chiffres dans le composant d'image (i trimestre, ii trimestre,

III ou IV Quart) et la couleur de la forme du noyau est choisie
des composants de radiogroupe.

Numéro de tâche 10.

Créez une application qui vous permet de spécifier les tailles utilisateur du composant Paintbox1 (en pixels).

Il est nécessaire de prévoir que la partie des parties ne peut pas être du texte ne peut pas être un nombre négatif et ne peut pas dépasser la taille de la forme plus petite.

Divisez la composante Paintbox1 en 4 parties égales, à l'intérieur de chaque partie, dessinez une figure géométrique sélectionnée par l'utilisateur à Combobox (ellipse, losange, triangle et rectangle). La couleur de la forme, sélectionne l'utilisateur dans ColorSox.

Numéro de tâche 11.

Créer une application qui permet:

Radiogroupe la position du tired

dans l'image du composant triangle rectangulaire, définissez
forme de couleur tormale ou couleur contour selon
activer les boutons de la case à cocher. Sélectionnez la couleur à travers
composant colorgrid.

Numéro de tâche 12.

Créez une application qui vous permet de spécifier les tailles utilisateur du composant Paintbox1 (en pixels).

Il est nécessaire de prévoir que la partie des parties ne peut pas être du texte ne peut pas être un nombre négatif et ne peut pas dépasser la taille de la forme plus petite.

Divisez la composante Paintbox1 sur 2 parties égales, à l'intérieur de l'une des pièces, dessinez une figure géométrique sélectionnée par l'utilisateur sur Combobox (ellipse, losange, triangle et rectangle). La couleur de la forme, sélectionne l'utilisateur dans ColorSox.

Par exemple, changez la couleur du formulaire comme suit:

form1.color: \u003d colorbox1.colors;

Tâche numéro 13.

Créer une application qui permet:

a) Dessinez un carré au milieu de la forme (la taille du côté du carré est entrée par l'utilisateur). Il est nécessaire de prévoir que la partie des parties ne peut pas être du texte ne peut pas être un nombre négatif et ne peut pas dépasser la taille de la forme plus petite.

b) Partagez un carré avec une diagonale ou deux en fonction de la commutation sur les boutons de la case à cocher et chaque triangle résultant est peint sous différentes couleurs. La sélection des couleurs gère l'utilisateur.

Numéro de tâche 14.

Créez une application qui vous permet de spécifier les tailles utilisateur du composant Paintbox1 (en pixels).

Il est nécessaire de prévoir que la partie des parties ne peut pas être du texte ne peut pas être un nombre négatif et ne peut pas dépasser la taille de la forme plus petite.

Divisez la composante Paintbox1 sur 2 parties égales, a attiré un losange dans une partie et attiré n'importe quel triangle à l'intérieur de l'autre partie. La couleur de la forme, sélectionne l'utilisateur dans ColorSox.

Par exemple, changez la couleur du formulaire comme suit:

form1.color: \u003d colorbox1.colors;

Numéro de tâche 15.

Créer une application qui permet:

a) Définissez la taille du composant d'image horizontalement et verticalement identique et égale au nombre entré par l'utilisateur du clavier;

(Il est envisagé que la partie des parties ne puisse pas être du texte ne peut pas être un nombre négatif et ne peut pas dépasser une taille de forme plus petite)

b) Partage du composant d'image sur 4 carrés égaux avec deux lignes de bleu;

c) À l'intérieur de chaque carré reçu, dessinez le cercle inscrit (la couleur des cercles pour vous permettre de choisir l'utilisateur via la boîte de dialogue Sélection de couleurs).

Tâche numéro 16.

Créez une application qui vous permet de spécifier les tailles utilisateur du composant Paintbox1 (en pixels).

Il est nécessaire de prévoir que la partie des parties ne peut pas être du texte ne peut pas être un nombre négatif et ne peut pas dépasser la taille de la forme plus petite.

Divisez le composant Paintbox1 en 9 parties égales et ressentit chaque rectangle résultant sous la forme d'un échiquier. La couleur du noyau sélectionne l'utilisateur dans Cololbox.

Par exemple, changez la couleur du formulaire comme suit:

form1.color: \u003d colorbox1.colors;

Numéro de tâche 17.

Sur le formulaire pour organiser deux composants image et quatre boutons: couleur de la ligne, couleur, ok et sortie; et modifier le composant.

Lorsque vous cliquez sur le bouton OK dans l'image1, le carré est dessiné avec un côté de x et, dans l'image2, un triangle rectangulaire avec des commandes égales est tiré, chacun a une longueur de H.

Le haut du triangle coïncide avec le début des coordonnées image2. L'un des sommets du carré coïncide avec le début des coordonnées image1.

Le bouton OK ne devient disponible que lorsque la couleur de la ligne est sélectionnée et la couleur du dessin de la figure est sélectionnée.

X - choisit de manière aléatoire, en utilisant la fonction aléatoire et dans le composant Modifier, la valeur de H.

Numéro de tâche 18.

Créez une application qui vous permet de spécifier les tailles utilisateur du composant Paintbox1 (en pixels).

Divisez le composant Paintbox1 en 4 parties égales, à l'intérieur de la pièce sélectionnée par l'utilisateur, le cercle rayé doit être construit, dont la taille est définie par l'utilisateur. La couleur de la maladie est choisie dans Colorbox.

Par exemple, changez la couleur du formulaire comme suit:

form1.color: \u003d colorbox1.colors;

Avez-vous aimé l'article? Partager avec des amis: