Bestimmtes Muster im Viereck.

Crazy_down

Erfahrenes Mitglied
Hi ihr, also ich habe mir mit 2 For-schleifen und nem Rectangel nen Schachbrett gemalt.

Code:
  int b = r.Width();
 	 int h = r.Height();
 
 	 if( b < h)
 	 {
 		l = b / 6;
 	 }
 	 else
 	 {
 		 l = h / 6;
 		
 	 }
 	
 	 for (int z = 1; z < 3; z++)
 	 {
 		for (int s = 1; s < 3 ; s ++)
 		{
 
 			pDC ->Rectangle(l*s, l*z, l*s+l+1, l*z+l+1);
 	 
 	
 		}
 	 }

So sieht das aus. aber jetzt will ich das es 4 Quadrate werden und in den vier Quadraten jeweils 3 zum MIttelpunkt. So hier:

quadrate.jpg

Natürlich Gleichmäßig, aber das soll nur Zeigen wie ich es möchte.
Ich habe es mit verschiedenen For schleifen schon probiert und komme nicht zum richtigen Ergebniss. Könnt ihr mir ne Hilfe geben ?

Danke schonmal greetz Crazy_Down
 
Moin moin,
da du jetzt ja schon weißt wie du rechtecke malst nutz das wissen und mal die nächsten drei pro grossem Rechteck:). Wenn du gerade pDC ->Rectangle(l*s, l*z, l*s+l+1, l*z+l+1);aufrufst wäre nen guter Moment... Kennst dann die Abmasse deines neuen "Rahmen Rechtecks" wieder For oder sofort setzen wenn es immer drei Stufen sein sollen, die sich nur der grösse anpassen...
Wenn du immer vier grosse Rechtecke malst... kannst du dir den Overflow mit for und Co auch sparen.

Gruss Michael
 
Mmmmhhhh, also ich habe jetzt einfach mal 4 Vierecke genommen(bzw. 1 Rechteck und ne Schleife laufen lassen) und damit mein Grundmuster gemacht. aber wie bekomm ich jetzt die Vierecke schräg untereinander und nur Links oben und Rechts unten hin ?
 
Hi,
ich gehe mal davon aus, daß der linke obere Punkt die Koordinaten x=0 und y=0 hat (ansonsten müssten die Koordinaten mit eingerechnet werden) und es Quadrate sein sollen.
Dann geht es so:
Code:
int breite;  //Breite des großen Quadrates
(for(i=0;i<3;i++)
{
   pDC->Rectangle(i*breite/3,i*breite/3,i*breite/3+breite/3,i*breite/3+breite/3);
}

Mfg

langer
 
Zurück