-
Forum: Multimedia
by mimi,
4. Nov 2007
naja, dann muss ich die Funktion mal bei Gelegenheit auseinander nehmen, Zeile für Zeile.
Aber die Beispiel Soruce Sagen mir im Moment recht wenig.
-
Forum: Multimedia
by mimi,
4. Nov 2007
Floatingpoint-Mathematik
die kenne ich gar nicht....
Danke ! Den Wiki Aktikel kannte ich schon, der hat mir nicht weiter geholfen, wegen den Formeln die ich verstehe, weil ich nicht weiß wie ich sie lesen muss
Der Andere link könnte Hilfreich sein. Vielen Dank dafür.....
Weil ich möchte wie schon gesagt noch weitere Figuren selbst zeichnen wie z.b. ein Kreis.Ich habe gelesen das kann der...
-
Forum: Multimedia
by mimi,
3. Nov 2007
nicht schlecht... das habe ich so hinbekommen:
procedure DrawRect(const aCanvas:TCanvas; const x1,y1,x2,y2:Integer; const AColor: TColor; const LinenStyle:array of Boolean; const FarbSyle:array of TColor);
begin
// Oben
DrawLine(aCanvas,x1,y1,x2,y1,AColor,LinenStyle,FarbSyle);
// Unten
DrawLine(aCanvas,x1,y2,x2,y2,AColor,LinenStyle,FarbSyle);
-
Forum: Multimedia
by mimi,
3. Nov 2007
ich habe mir dein Beispiel noch einmal angesehen und mir ist ein Licht aufgegangen...
Aber leider nützt er mir wenig da ich unter Lazarus keine LineDDA Procedure habe.
Ich könnte allerdings den Code entsprechend umbauen... Wenn ich wollte.
Naja, dann nochmal VIELEN DANK.
ich glaube jetzt weiß ich wie LineDDA Arbeitet, hatte es beim ersten hinsehen nicht ganz verstanden aber jetzt...
-
Forum: Multimedia
by mimi,
3. Nov 2007
ehrlich gesagt, habe ich mir die Funktion lineDDA gar nicht angesehen....
ich habe nur die Parameter gesehen und das reichte mir schon.
Du meinst damit ist sowas schon möglich ? von Windows aus ? Bunte Linen ?
-
Forum: Multimedia
by mimi,
3. Nov 2007
ich habe jetzt die Procedure erweitert von:SirThornberry Vielen Dank noch mal für dein Code.
procedure DrawLine(ACanvas: TCanvas; x1, y1, x2, y2: Integer; AColor: TColor; style:array of Boolean; FarbStyle:array of TColor);
procedure StyleFarbeLine(var zc,zw,z,lenStyle, lenColor,W:Integer);
begin
if (lenStyle > -1) and (lenColor > 0) then begin
if zc +1 <= lenColor then...
-
Forum: Multimedia
by mimi,
3. Nov 2007
ich habe in deiner Pas Datei gesehen, das du
LineDDA benutz, was mir nicht viel Weiter hilf. Ich wollte ja eine eigene Funktion, Ich meine diese Procedure gibt es auch für Lazarus.
Trotzdem Danke !
-
Forum: Multimedia
by mimi,
3. Nov 2007
Danke Muetze1 werde ich mir gleich mal ansehen.
Ich finde dieses Thema im Moment recht Intressant, weil ich mich in den letzten 10 Jahren wo ich mit Object Pascal arbeite damit mich noch nie befast habe.
Später geht es mir auch noch um andere Figuren wie z.b. Kreise, Vierecke, Abgerundete Ecken....
Aber erstmal die Line mein Ziel ist es in erster Line SirThornberry Procedure so zu...
-
Forum: Multimedia
by mimi,
2. Nov 2007
BESTEN DANK ! Ich werde ihn mir mal genau ansehen.
-
Forum: Multimedia
by mimi,
2. Nov 2007
wie meinst du das ?
Wenn es eine Negative Line ist verringere ich den "Faktor" und wenn es eine Positive ist erhöhe ist sie.
Aber was müsste ich jetzt genau ändern damit das klappt ?
-
Forum: Multimedia
by mimi,
2. Nov 2007
Ja das ist logisch..... und weiter ?
edit: Aber das mache ich doch schon im Prinzip ? beide Variablen werden um den gleichen Faktor erhört.....
-
Forum: Multimedia
by mimi,
2. Nov 2007
Ja ! da gebe ich dir Recht.
Aber ich möchte ja später die Möglichkeit haben eine mehrfarbige Line zu gestalten das ist mit MoveTo und LieneTo leider sehr aufwendig. und mit Poligonen möchte ich das erst recht nicht machen.
Außerdem möchte ich selber verstehen wie ein DDA Algorithmus arbeitet .
Es gibt für viele mehrer Möglichkeiten je nach dem was man gerade braucht bzw. machen möchte....
-
Forum: Multimedia
by mimi,
2. Nov 2007
das weiß ich auch, aber dort kann man nicht ohne weiteres eine Line z.b. in mehrer Farben zeichnen ohne das mühevoll mit Polygonen oder anders zu lösen.
ich kenne die TCanvas Klasse sehr gut.
Edit01: Erste Tests haben ergeben, das diese Procedere leider nicht mit negativen Zahlen umgehen kann.
hat einer eine Idee wie ich das am einfachsten einbauen könnte ?
-
Forum: Multimedia
by mimi,
2. Nov 2007
Hallo,
da ich schon länger Zeit für verschiedene Zwecke eine eigene Linen Zeichne möchte, habe ich diese Code heute geschrieben:
procedure DrawLinePluto(aCanvas:TCanvas; const x1,y1,x2,y2:Integer; PenColor:TColor);
var
wx,wy:Integer;
fx,fy,mx,my:Integer;
begin
wx:=abs(x2-x1);
wy:=abs(y2-y1);