AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Durchgehend zeichnen mit canvas
Thema durchsuchen
Ansicht
Themen-Optionen

Durchgehend zeichnen mit canvas

Ein Thema von Dragon27 · begonnen am 23. Jun 2004 · letzter Beitrag vom 23. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:14
Hallo,

bin grad dabei ein Zeichenprogramm zur Übung zu schreiben. Habe da aber ein Problem mit den ganz normalen Zeichenen.

Delphi-Quellcode:

zeichenbrett.Canvas.Pixels[x,y]:=JvGammaPanel1.ForegroundColor;
Wenn ich diesen Code hernehme dann zeichnet der nicht durchgehende Linien sondern es wird pixelig (Steht ja scho im Quelltext ) und bei "Line To" geht das auch net.

Kann mir da bitte jemand helfen?

Danke
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:17
und wie sieht der code aus für lineto ?

die frage versteh ich net ganz.. wo wird es da pixelig ?
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#3

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:20
ich glaube, er meint, dass es nichts in der richtung antialiasing gibt.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#4

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:32



Im MouseDown/Up eine Boolean Variable entsprechend setzen. Dann im MouseMove, falls die Boolean Variable entsprechend gesetzt ist, mit LineTo die Linie vom alten Punkt zum neuen X,Y zeichen und das X,Y dann als alten Punkt hinterlegen.

mfg Tobias
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#5

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:35
Hallo,

Also schaut der Text jetzt aus. aber der macht bei schnellem Zeichnen hald einfach nicht eine solche Linie

__________________________________________________ __________

sondern:

.................................................. ..........

Also sie is einfach gepunktet wenn man zu schnell zeichntet.

Hier noch der code:


Delphi-Quellcode:

if zeichnet=true
then begin
 zeichenbrett.Canvas.Font.Color:=JvGammaPanel1.ForegroundColor;
if toolbutton1.Down
then begin
zeichenbrett.Canvas.Pixels[x,y]:=JvGammaPanel1.ForegroundColor;
end;
Wie würdet Ihr denn so ne zeichenroutine machen?

Zeichnet stellt sich bei mousedown auf true....


Danke

Andy
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:38
das problem was du da hast ist wohl:

die maus, wenn du sie schnell bewegst, springt dann von pixel zu pixel und überfliegt viele.. je schneller desto mehr

das ist wohl der effekt den du da hast.. du kannst aber durch eine verbundlinie ( spline ) trotzdem vvon punkt zu punkt eine linie ziehen.. so wie es mirilin vorgemacht hat etwa
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Skiron

Registriert seit: 14. Dez 2003
153 Beiträge
 
#7

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:39
da dürfts doch einen Pen-Style geben (wenn mich nicht alles täuscht)
Mann zu Frau:
Zieh dich aus, wir müssen reden!
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#8

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:39
Delphi-Quellcode:
procedure TForm1.StiftDraw(x, y: Integer);
begin
  with Form1 do begin
    if not FC then begin
      Paintbox1.Canvas.Pen.Color := Farbe;
      PaintBox1.Canvas.MoveTo(MOldPo.X, MOldPo.Y);
      PaintBox1.Canvas.LineTo(Xold, Yold);
    end
    else
      FC := False;
    Paintbox1.Canvas.Pen.Color := Farbe;
    PaintBox1.Canvas.MoveTo(XOld, YOld);
    PaintBox1.Canvas.LineTo(X, Y);
    XOld:=X; YOld:=Y;
  end;
end;

bitte schön
Nico Müller
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:41
jo genau so
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#10

Re: Durchgehend zeichnen mit canvas

  Alt 23. Jun 2004, 21:45
hi,

das von Mirilin versteh ich irgendwie nicht so. Hab ich ja auch so gemacht.......
Aber irgendwie funzt das nicht da immer die linien nicht genau werden.

gibts da sonst noch was?

Danke
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 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