Delphipage - la reference en Delphi
Accueil - Astuces - Composants - Programmes - Tutoriaux - Livres - Liens
 Sources
- Astuces
- Composants
- Programmes
- Tutoriaux
 Rechercher
- Delphipage
- Ngscan
 Ressources
- Lexique Delphi
- Livres
- News
- Patchs Delphi
 Liens
- Borland France
- CodeGear
- Les meilleurs sites


Tutoriaux - Minipaint

Présentation

Ce programme permet de dessiner grâce à un crayon sur une image.




Réaliser le programme

Pour commencer, tapez le nom de l'application.
Pour cela, allez dans l'inspecteur d'objet de delphi et dans Caption et tapez Minipaint.
Ensuite placez dans la fiche un composant TImage, TPanel.
Affectez sa propriété Align à altop dans l'inspecteur d'objet.
Placez dans la fiche (en les disposants comme l'image ci-dessus)un composant TMainmenu, TTrackbar, TOpenDialog, TSaveDialog et TColorGrid.
Affecter les propriétés Frequency, Max, Min du composant TTrackBar respectivement à 10, 100, 1.
Cliquez deux fois dans l'évenement du composant TImage sur OnMouseDown et ajoutez ces lignes :

if ssLeft in Shift then
begin

Image1.Canvas.Pen.Width:=TrackBar1.Position;
Image1.Canvas.Pen.Color:=ColorGrid1.ForegroundColor; Image1.Canvas.MoveTo(X,Y);
end;

if ssRight in Shift then
begin

Image1.Canvas.Pen.Width:=TrackBar1.Position;
Image1.Canvas.Pen.Color:=ColorGrid1.BackgroundColor;
Image1.Canvas.MoveTo(X,Y);
end;

Puis cliquez deux fois dans l'évenement du le composant TImage sur OnMouseMove et ajoutez ces lignes:

if ssLeft in Shift then
begin

Image1.Canvas.LineTo(X,Y);
end;

if ssRight in Shift then
begin

Image1.Canvas.LineTo(X,Y);
end;

Ensuite, cliquez deux fois sur le composant TMainMenu.
Ajoutez '&Fichiers' et '&Aide'.
Effectuez la même opération et ajoutez dans la partie Fichiers '&Ouvrir', '&Enregistrer sous', '-' et '&Quitter'.
Dans la partie Aide, ajoutez 'A &propos'.
Cliquez sur A propos et ajoutez ces lignes:
ShowMessage('Programmé par Yoann');
Cliquez sur Ouvrir et ajoutez ces lignes:

if Form1.OpenDialog1.Execute then
begin

Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;

Cliquez sur Enregistrer sous et ajoutez ces lignes :

if Form1.SaveDialog1.Execute then
begin

Image1.Picture.SaveToFile(SaveDialog1.FileName);
end;

Cliquez sur Quitter et ajoutez cette ligne:

Close;

Votre programme est terminé.


Source complète du programme

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, StdCtrls, ComCtrls, ColorGrd;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Aide1: TMenuItem;
Apropos1: TMenuItem;
Panel1: TPanel;
ColorGrid1: TColorGrid;
TrackBar1: TTrackBar;
Label1: TLabel;
Image1: TImage;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
ColorDialog1: TColorDialog;
Fichier1: TMenuItem;
Ouvrir1: TMenuItem;
Enregistrersous1: TMenuItem;
N1: TMenuItem;
Quitter1: TMenuItem;
procedure Apropos1Click(Sender: TObject);
procedure Ouvrir1Click(Sender: TObject);
procedure Enregistrersous1Click(Sender: TObject);
procedure Quitter1Click(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Apropos1Click(Sender: TObject);
begin
ShowMessage('Programmé par Yoann');
end;

procedure TForm1.Ouvrir1Click(Sender: TObject);
begin
if
Form1.OpenDialog1.Execute then
begin

Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;

end;

procedure TForm1.Enregistrersous1Click(Sender: TObject);
begin
if
Form1.SaveDialog1.Execute then
begin

Image1.Picture.SaveToFile(SaveDialog1.FileName);
end;

end;

procedure TForm1.Quitter1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin

if ssLeft in Shift then
begin

Image1.Canvas.Pen.Width:=Form1.TrackBar1.Position;
Image1.Canvas.Pen.Color:=Form1.ColorGrid1.ForegroundColor;
Image1.Canvas.MoveTo(X,Y);
end;

if ssRight in Shift then
begin

Image1.Canvas.Pen.Width:=Form1.TrackBar1.Position;
Image1.Canvas.Pen.Color:=Form1.ColorGrid1.BackgroundColor;
Image1.Canvas.MoveTo(X,Y);
end;

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if
ssLeft in Shift then
begin

Image1.Canvas.LineTo(X,Y);
end;

if ssRight in Shift then
begin

Image1.Canvas.LineTo(X,Y);
end;

end;

end.


MiniPaint   [ 10-08-2001 ]
 Programme qui permet de se familiariser avec le gdi.
Télécharger :  [6 Ko] [Télécharger minipaint.zip]

Auteur : Yoann
Site internet :
http://delphipage.free.fr/

Tous droits réservés - Contacts
Haut de la page