Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Belistift / Pinsel (https://www.delphipraxis.net/38698-belistift-pinsel.html)

shareholder 23. Jan 2005 06:55


Belistift / Pinsel
 
Boah *arschtret*

Ich bin grad total blind!? :mrgreen:

Wie kann ich auf einem Canvas im OnMouseMove etwas zeichnen?
Bleistift, Pinsel ... also wahrlose Linien! *schäm*

KLS 23. Jan 2005 08:16

Re: Belistift / Pinsel
 
Meinst du z.b. das?

Delphi-Quellcode:
var
  Form1: TForm1;
  oldpoint : tpoint;

implementation

{$R *.dfm}

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  image1.Canvas.LineTo(oldpoint.X+1,oldpoint.Y+1);
  oldpoint.x := x;
  oldpoint.y := y;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  oldpoint.X := 0;
  oldpoint.Y := 0;
end;

ReDoX 23. Jan 2005 08:33

Re: Belistift / Pinsel
 
Hi also ich würde das so machen

Delphi-Quellcode:
private
  Down: Boolean; // Status der Maus



procedure TForm1.FormCreate(Sender: TObject);
begin
  Down := false;
end;



procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
    down := true;
    Form1.Canvas.MoveTo(x, y);
end;


procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Down := false;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if down = true then
  begin
    Form1.Canvas.LineTo(x, y);
  end;
end;


Wenn die Maustaste gedrückt ist kannst du zeichnen sonst nicht.
Mfg MrScholz

shareholder 23. Jan 2005 08:46

Re: Belistift / Pinsel
 
Ach quatsch, was soll ich denn mit Geraden?

Ich möchte Kringel malen ;-) D.h., genau da, wo die Maus gerade steht, soll gemalt werden.

Canvas.Pixels[x][y] = clBlack ist zu langsam... und außerdem, kann ich dann die Brushbreite nicht einstellen, da ich ja nur einen Pixel anspreche...

ReDoX 23. Jan 2005 09:32

Re: Belistift / Pinsel
 
Hast du meinen Code mal ausprobiert?!
Er zeichnet eine Gerade von x - y d.h. nur einen Punkt :!:
Mfg MrScholz

Edit: Die breite kanst du mit Canvas.Pen.Width einstellen

shareholder 23. Jan 2005 10:06

Re: Belistift / Pinsel
 
Muss man das unbedingt mit einer Linie machen?

ReDoX 23. Jan 2005 10:10

Re: Belistift / Pinsel
 
Wieso denn nicht?
Fällt doch garnicht auf das es mit Linien gemacht worden ost oder?
Mfg MrScholz


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz