Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Pinselfunktion für eine PaintBox (https://www.delphipraxis.net/59043-pinselfunktion-fuer-eine-paintbox.html)

maynard 16. Dez 2005 14:01


Pinselfunktion für eine PaintBox
 
Tach...

Code:
procedure TfCalendar.pbDrawMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  if (ssLeft in Shift) then
    begin
      pbDraw.Canvas.Pixels[X,Y] := clBlack;
    end;
end;
Mit diesem Code hab ich versucht, ein Pinsel / Stiftfunktion in meiner Anwendung zu ermöglichen. Vieleicht kennt der ein oder andere schon das Problem: bewegt man die Maus mal etwas schneller, dann ist der Pinselstrich nicht mehr durchgängig sondern löst sich in vereinzelte Punkte aus. Wie schaffe ich es, eine durchgängige Freihandlinie zu zeichnen?

MfG

Khabarakh 16. Dez 2005 14:06

Re: Pinselfunktion für eine PaintBox
 
Zeichne statt der einzelnen Pixel lieber Linien.
MouseDown: MoveTo(x, y)
MouseMove: LineTo(x, y)

maynard 16. Dez 2005 14:32

Re: Pinselfunktion für eine PaintBox
 
Tach...

Danke, funktioniert so viel besser. Allerdings sollte MouseMove besser so aussehen:

Code:
  if(ssLeft in Shift) then
    pbDraw.Canvas.LineTo(X, Y);


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.

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