Autor Beitrag
FR399Y
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 03.04.03 22:56 
moin,

wir machen immoment canvas funktionen in delphi und dazu waeren lineale sehr hilfreich.. wie kann man die anzeigen, wenn delphi ueberhaupt ueber so etwas verfuegt..

danke
cu FLO!
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Do 03.04.03 22:58 
Mal dir doch eins auf den Canvas, dürfte doch kein Problem sein. :)
FR399Y Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 03.04.03 23:08 
:oops: trau mich nicht .. :oops:

nein, sagt mal ehrlich; kann man lineale irgendwie anzeigen?

*hhhmmmmm*
...
..
.
ja nen lineal selber zeichnen ist garned so dumm..

so?

ausblenden Quelltext
1:
2:
canvas.moveto (0,0)
canvas.lineto (1,0)


son nun das ganze in eine while aunweisung 8ich weis nicht wie so eine aussieht.. ;( :schaem: )
so das der x wert immer +1 wird bis der bildrand erreicht ist..
und immer wenn er +1 genommen hat soll er einen strich in y richtung machen das wuerde nen lineal ergeben..
doch leider faehlen mir dafuer die kenntnisse :(

cu
FLO!

Moderiert von user profile iconAya: Code-Tags hinzugefügt.
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Do 03.04.03 23:17 
20 Lücken im Lineal, gut sieht's erst aus, wenn die Breite der Form durch 20 teilbar ist, 700 z.B.. :)
So, oder so ähnlich:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var
  I, diff: integer;
begin
  diff := Width div 20;
  canvas.Brush.Color := clWhite;
  canvas.FillRect(Rect(0,0,width,10));
  for i := 1 to diff do begin
    canvas.moveto(i*diff,0);
    canvas.LineTo(i*diff,10);
  end;
  canvas.moveto(0,10);
  canvas.LineTo(width,10);
end;
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Do 03.04.03 23:19 
Hi,

nen Lineal einfach einblenden geht nich, gibt's net ;)
mit ner while Schleife würd ich das so lösen:

ausblenden Quelltext
1:
2:
3:
4:
5:
while i<Height do begin
  Canvas.MoveTo(0,i);
  Canvas.LineTo(10,i);
  Inc(i,10); //i um 10 erhöhen
end;


Au'revoir,
Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
FR399Y Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Fr 04.04.03 00:11 
ich hab nun:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.Button1Click(Sender: TObject);
var x: integer;
begin
  for x := 1 to width do
  begin
    if x mod 10 = 0 then
    begin
      canvas.MoveTo(x,0);
      canvas.LineTo(x,10);
    end else
    if x mod 2 = 0 then
    begin
      canvas.MoveTo(x,0);
      canvas.LineTo(x,5);
    end  else
        end;
  end;
end;

end.

und das geht wunner bar..
nur noch jeweils die xe auf die andere seite des kommars stellen udn schon ist auch die y-ache mit einen lineal versehen..
FR399Y Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Fr 04.04.03 08:57 
Titel: karos...
moin nach edr selbigen methode habe ich ein koordinaten netz erstellt:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.Button2Click(Sender: TObject);
var
x : integer;
begin
for x := 1 to height do
  begin
    if x mod 10 = 0 then
    begin
    canvas.pen.color:= clblack  ;
      canvas.MoveTo(0,x);
      canvas.LineTo(width,x);
      end
      end;
  for x := 1 to width do
  begin
    if x mod 10 = 0 then
    begin
      canvas.MoveTo(x,0);
      canvas.LineTo(x,height);
      end
    end;


wunderbar.. 8) :shock:

wie kann ich nun mit floodfill jedes zweite karo mit einer farbe füllen?