AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichnen einer farbigen Linie

Ein Thema von Panni-Fuchs · begonnen am 29. Okt 2007 · letzter Beitrag vom 29. Okt 2007
Antwort Antwort
Panni-Fuchs

Registriert seit: 28. Okt 2007
2 Beiträge
 
#1

Zeichnen einer farbigen Linie

  Alt 29. Okt 2007, 17:23
Grüße...
Ich wollte mal fragen wie ich in Delphi eine Linie zeichen kann, diese muss auch in verschiedenen Farben aufgeteilt werden!

Würde mich sehr über einige Tipps freuen schonmal im Vorraus vielen dank!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zeichnen einer farbigen Linie

  Alt 29. Okt 2007, 17:26
Willst du einen Farbverlauf zeichnen oder so was ähnliches?
Entweder du musst die Linie in mehreren abschnitten Zeichen (Linienzug) oder mit transparenter Farbe und dann Farben im Alpha-Image
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zeichnen einer farbigen Linie

  Alt 29. Okt 2007, 17:27
hallo und willkommen in der dp



linien kannst du folgendermaßen zeichnen:

Delphi-Quellcode:
procedure DrawLine(Index: Integer; Canvas: TCanvas; var Rect: TRect; DrawingHintText: Boolean; DoDraw: Boolean; var
 DefaultDraw: Boolean);
Martin
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Zeichnen einer farbigen Linie

  Alt 29. Okt 2007, 17:53
oder mit
Delphi-Quellcode:
canvas.moveto(StartPunkt.X, StartPunkt.Y);
canvas.lineto(EndPunkt.X, EndPunkt.Y);
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Zeichnen einer farbigen Linie

  Alt 29. Okt 2007, 18:55
aus eigener Intresse habe ich mal was zusammen geschrieben, für dich:
Delphi-Quellcode:
procedure DrawColorLine(aCanvas:TCanvas;x,y,w,h:Integer; colors:array of TColor);
var
  len,aw,ah,i:Integer;
begin
  len:=High(colors); aw:=w div len; ah:=h div len;
  for i:=0 to len do begin
    acanvas.Pen.color:=Colors[i];
    acanvas.MoveTo(x,y);
    acanvas.LineTo(x+aw,y+ah);
    x:=x+aw; y:=y+ah;
  end; // for i:=0
end;

// So kann es verwendet werden
procedure TForm1.Button1Click(Sender: TObject);
begin
  DrawColorLine(Paintbox1.Canvas,10,10,50,10,[clLime, ClRed, clBlue,clBlack,clWhite, clAqua],30);
end;
Die Anzahl der Farben spielt hier eine Rolle, je mehr Farben, desto bunter wird die Line Logischer weise,
Ich war etwas überrascht das es so einfach ist. Was meint ihr ? ich habe einige Tests gemacht, anscheid klappt es so.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Zeichnen einer farbigen Linie

  Alt 29. Okt 2007, 19:10
habe gerade bemerkt das die Funktion ein kleinen BUG hat.

Leider kann man damit keine Vertikalen oder Horizontalen Linen Zeichnen.
Nur Schräge. bzw.
normalerweise
DrawColorLine(Paintbox1.Canvas,10,10,50,10,[clLime, ClRed, clBlue,clBlack,clWhite, clAqua],30);
müsste dieser Aufruf doch eine Horizontale Linen ergeben die 40 Pixel Lang/breit ist, oder nicht ?
wenn ich die erste 50 gegen 45 austausche geht es.... ich vermute ich müsste noch was mit dem Winkel machen richtig ?

Aber wie berechne ich einen Winkel und setzte ihn ein ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort


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:36 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