AGB  ·  Datenschutz  ·  Impressum  







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

Rectangle mit schleife

Ein Thema von netscanner · begonnen am 3. Mär 2006 · letzter Beitrag vom 4. Mär 2006
Thema geschlossen
Benutzerbild von netscanner
netscanner

Registriert seit: 2. Dez 2005
Ort: Dieburg
280 Beiträge
 
Delphi 6 Enterprise
 
#1

Rectangle mit schleife

  Alt 3. Mär 2006, 19:41
Hallo, ich hab wieder ein Problem:

Delphi-Quellcode:
with image1.canvas do
 begin
a := 80;
c := 160;
e := -1;
for f := 1 to 3 do
begin
e := e + 1;
a := a - (e*40);
c := c + (e*40);
b := a;
d := c;
image1.Canvas.Rectangle(a+90,b+90, c+90,d+90) ;


end;
end;
dieser code SOLLTE mir eigentlich 3 Quadrate mit versch. größen "malen"...
Macht er aber nicht - er zeichenet nur das letzte mit den werten a := -40 und c:= 280...
Woran liegts???
Martin
 
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 19:48
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,... integer;
begin
  with image1.canvas do
  begin
    // image1.Canvas.Brush.Style := bsClear; // <----<<<
    // da aber With Image1.Canvas vorangestellt ist reicht:
    
    Brush.Style := bsClear;

    a := 80;
    c := 160;
    e := -1;
    for f := 1 to 3 do
    begin
      e := e + 1;
      a := a - (e*40);
      c := c + (e*40);
      b := a;
      d := c;

      Rectangle(a+90,b+90, c+90,d+90) ;
    end;
  end;
end;
Rectangle zeichnet immer mit dem akt. Pen-Color den Ramen und mit dem Brush.Color wird es dann ausgefüllt.
Will man den innenbereich nicht ausfüllen setzt man den Style des Brusches auf bsClear

[oh]Brush.Style, Pen.Style, Rectangle[/oh]
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
 
Benutzerbild von netscanner
netscanner

Registriert seit: 2. Dez 2005
Ort: Dieburg
280 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 19:50
und was sollte das bringen? geht trotzdem net...
Martin
 
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 20:00
...extra Delphi angeworfen, Bild !

[edit=tP]Bildchen gelöscht[/edit]
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
 
Benutzerbild von netscanner
netscanner

Registriert seit: 2. Dez 2005
Ort: Dieburg
280 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 20:01
bei mir eben net!


EDIT: Elendiger Computer! Jetzt gehtz
Martin
 
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 20:07
Wollt gerade fragen:

Hast vorher noch was gezeichnet und das Pen.Color und Brush.Color steht noch auf weiss ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
 
Benutzerbild von netscanner
netscanner

Registriert seit: 2. Dez 2005
Ort: Dieburg
280 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 20:24
so leute, die letzte frage für heute ^^

Delphi-Quellcode:
var a,b,c,d,e,f: integer;
begin

  with image1.canvas do
  begin

 Brush.Style := bsClear;

    a := 80;
    c := 160;
    e := -1;
    for f := 1 to 3 do
    begin
      e := e + 1;
      a := a - (e*40);
      c := c + (e*40);
      b := a;
      d := c;

      Rectangle(a+90,b+90, c+90,d+90) ;


      image1.Canvas.Polyline([Point(120+90, a+90), Point(c+90, 120+90), Point(120+90,c+90),
    Point(a+90,120+90),Point(120+90,a+90)]);
    end;
  end;
end;
das ist jetzt der endcode...es werden polygonne und quadrate inneinander erzeugt. die linien sind aber nicht 100% aufeinander...woran kann das liegen?
Martin
 
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#8

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 21:16
Zitat:
die linien sind aber nicht 100% aufeinander...woran kann das liegen?
wenn eine Linie von P1 zu P2 geht, dann gehört der letzte Punkt nicht mit zur Linie, bzw wird nicht gezeichnet.
Polygonlinien dann eventuell eins breiter zeichnen.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
 
Benutzerbild von netscanner
netscanner

Registriert seit: 2. Dez 2005
Ort: Dieburg
280 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Rectangle mit schleife

  Alt 3. Mär 2006, 22:25
und schon wieder ne frage:

Delphi-Quellcode:
var
F: array[1..5] of tcolor;
i :integer ;
begin
  f[1] := clblue;
  f[2] := clred;
  f[3] := clblack;
  f[4] := clwhite;
  f[5] := clyellow;


  with Image1.Canvas do
  begin

  for i := 0 to 20 do begin
Randomize;
brush.color := f[Random(5)+1]; //diese Zeile muss wahrscheinlich anders sein...

Polygon([Point(0, 200), Point(200, 200),
    Point(100, i*15)]);


end;
end;

diesen code habe ich jetzt programmiert...es werden mehrere dreiecke inneinander erzeugt und das ganze ding wird dann mit einer zufallsfarbe gefüllt.
Wie mache ich es jetzt aber, dass nicht die ganze figur, sondern nur ein bestimmtes dreieck mit der zufallsfarbe gefüllt wird.
Auf deutsch: jedes Dreieck soll eine andere Farbe haben...
Martin
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Rectangle mit schleife

  Alt 4. Mär 2006, 08:46
Eine Farbe besteht aus rot,grün und blau. Wenn du nur Graustufen willst würde das so aussehen eine Zufallsfarbe zu erzeugen. Desweiteren sollte man Randomize nur ein einziges mal im Programm aufrufen.
Delphi-Quellcode:
var LFarbwert: Byte;
begin
  Randomize;
  [...]
  LFarbwert := Random(256) - 1;
  brush.color := RGB(LFarbwert, LFarbwert, LFarbwert);
Da das ganze mit den Dreiecken aber eine neue Frage ist und die ursprüngliche Frage beantwortet ist mach ich hier mal zu. Neue Frage -> Neuer Thread
*** LOCKED ***
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
 
Thema geschlossen


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 06:44 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