 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
dodo
Anmeldungsdatum: 29.01.2006 Beiträge: 17
|
Verfasst am: 04.02.2006, 17:26 Titel: Ausfüllen von Flächen |
|
|
Ich habe eine kleine Frage:
Wenn ich mit circle einen kreis zeichne, wie kann ich ihn dann mit einer Farbe ausfüllen? |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Thomas Antoni

Anmeldungsdatum: 12.10.2004 Beiträge: 220 Wohnort: Erlangen
|
Verfasst am: 04.02.2006, 20:48 Titel: Dazu habe ich mir Folgendes für die MonsterFAQ vorgemerkt... |
|
|
Dazu habe ich mir Folgendes für die MonsterFAQ vorgemerkt...
Frage deutsch
~~~~~~~~~~~~~~~~
Wie fülle ich einen Kreis mit Farbe?
Question English
~~~~~~~~~~~~~~~~
How to fill a circle with a color?
Antwort
~~~~~~~~~~~~~~~~
[ von Thomas Antoni, 15.10.2005 ]
Zum Füllen eines Kreises mit einer verwendest Du am einfachsten den PAINT- oder den DRAW-Befehl. Du kannst aber auch mit Linien oder Punkten füllen. Im Folgenden möchte ich die verschiedenen Methoden kurz erklären:
*** mit PAINT
Das folgende Programm zeichnet einen Kreis mit dem Mittelpunkt M=(100|100), dem Radius r = 50 und der Randfarbe rot (Farbcode = 4). Wichtig ist, dass die im PAINT-Befehl angegebenen Koordinaten im Kreis liegen.
Code: |
'******************************************************************************
' KREISFAR.BAS = Einen Kreis mit Farbe füllen
' ============
' Dieses Q(uick)Basic-Programm zeichnet einen Kreis mit dem Mittelpunkt
' M(100,100) und dem Radius r=50 mit roter Randlinie (Farbcode 4).
' Anschließend wird der Kreis mit einem PAINT-Befehl rot "'ausgemalt"
'
' (c) Thomas Antoni, 15.10.2005
'******************************************************************************
SCREEN 12
CIRCLE (100, 100), 50, 4
'Kreis mit den Mittelpunkt (100), Radius 50 und Randfarbe rot (=4)
PAINT (100, 100), 4
'Flaeche ausgehend vom Mittelpunkt rot ausmalen bis die
'Randlinie erreicht wird
SLEEP
|
Du kannst die Zeichenfarbe 4 = rot auch ein einen zentralen COLOR-Befehl schreiben. Dann sieht das obige Programm so aus:
Code: |
SCREEN 12
COLOR 4
CIRCLE (100, 100), 50
PAINT (100, 100)
SLEEP
|
*** mit DRAW
Statt PAINT kannst zum Füllen eines Kreises mit Farbe auch den sehr flexiblen DRAW-Befehl verwenden. Das obige Programm sieht bei der Verwendung von DRAW etwa so aus:
Code: |
SCREEN 12
COLOR 4 'Zeichenfarbe rot (=4)
CIRCLE (100, 100), 50
DRAW "BM 100,100" 'rückt den "Zeichen-Stift" der DRAW-Anweisung
'in den Kreismittelpunkt
DRAW "P 9, 4" 'Befehl zum Ausfuellen des Kreises mit blau (=9)
'bis die rote Randlinie (=4)erreicht wird
|
*** Kreis mit Linien füllen (mit dem LINE-Befehl)
Helium hat im QB-Forum das folgende Programm publiziert, das einen Kreis mittels farbiger Linien füllt:
Code: |
'*************************************************************
' KREISFUL.BAS = Kreis mit Farbe fuellen ohne PAINT und DRAW
' ============
' Dieses Q(uick)Basic-Programm fuellt einen Kreis mit Farbe
' ohne den naheliegenden PAINT oder DRAW-Befehl zu verwenden.
' Das Faellen wird durch das Ziehen waagerechter farbiger
' Linien bewerkstelligt. Ein Zeichnen des Kreises selbst
' mit dem CIRCLE-Befehl ist nicht erforderlich
'
' (c) Helium, 14.10.2005 ]
'*************************************************************
'
SCREEN 12
mx = 100 'x-Koordinate des Kreis-Mittelpunkts
my = 150 'y-Koordinate des Kreis-Mittelpunkts
radius = 80
farbe = 4 'rot
radiusSqr = radius * radius
FOR y = my - radius TO my + radius
x = SQR(radiusSqr - (y - my) * (y - my))
LINE (mx - x, y)-(mx + x, y), farbe
NEXT
SLEEP
|
_________________ +++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++ |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
|
Nach oben |
|
 |
dodo
Anmeldungsdatum: 29.01.2006 Beiträge: 17
|
Verfasst am: 04.02.2006, 21:49 Titel: |
|
|
Vielen Dank, ihr habt mir super geholfen |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|