Gerade Linien - Verzerrungseffekt
Verfasst: 14.03.2008 20:06
Hier mal ein Posting von mir.
Das Ergebnis ist eine Zeichnung, mit der mich meine Kunstlehrerin irgendwann in der Grundschule gequält hat.
Vielleicht hat ja jemand Lust die RGB-Werte eleganter anzupassen.
Auch andere Verbesserungen sind herzlich willkommen!
Gruß
Netzer
Das Ergebnis ist eine Zeichnung, mit der mich meine Kunstlehrerin irgendwann in der Grundschule gequält hat.
Vielleicht hat ja jemand Lust die RGB-Werte eleganter anzupassen.

Auch andere Verbesserungen sind herzlich willkommen!
Gruß
Netzer
Code: Alles auswählen
; Grafikspielerei just for fun
; 2008 by netzer
; PB 4.10 for Windows
;--------------------------------------------
If InitSprite() = 0
MessageRequester("Fehler", "Kann Grafik nicht Initialisieren", 0)
End
EndIf
If InitKeyboard() = 0
MessageRequester("Fehler", "Kann Keyboard nicht Initialisieren", 0)
End
EndIf
If InitSprite3D() = 0
MessageRequester("Fehler", "Kann 3D-Grafik nicht Initialisieren", 0)
End
EndIf
OpenScreen(1280,800,16,"Sprite Test") ;Bildschirmgröße anpassen!!!
Repeat
ExamineKeyboard()
ClearScreen(RGB(0,0,0))
x1 = 400
y1 = 200
a1 = 400
b1 = 0
c1 = RGB(r,g,b)
x2 = 800
y2 = 200
a2 = 0
b2 = 400
c2 = RGB(r,g,b)
x3 = 400
y3 = 200
a3 = 0
b3 = 400
c3 = RGB(r,g,b)
x4 = 400
y4 = 200
a4 = 400
b4 = 0
c4 = RGB(r,g,b)
StartDrawing(ScreenOutput()) : DrawingMode(1)
DrawText(550, 150, "RGB: " + Str(r) + " " + Str(g) + " " + Str(b), RGB(255,255,255))
For k = 1 To 39
x1 + 10
a1 - 10
b1 + 10
Line(x1, y1, a1, b1, c1)
Next
For k = 1 To 39
y2 + 10
a2 - 10
b2 - 10
Line(x2, y2, a2, b2, c2)
Next
For k = 1 To 39
y3 + 10
a3 + 10
b3 - 10
Line(x3, y3, a3, b3, c3)
Next
For k = 1 To 39
y4 + 10
a4 - 10
b4 - 10
Line(x4, y4, a4, b4, c4)
Next
Line(400, 200, 400, 0 , RGB(255, 255, 255))
Line(400, 600, 400, 0 , RGB(255, 255, 255))
Line(400, 200, 0, 400 , RGB(255, 255, 255))
Line(800, 200, 0, 400 , RGB(255, 255, 255))
If r < 255 And g = 0 And b = 0
r + 1
EndIf
If r =255 And g < 255 And b = 0
g + 1
EndIf
If r = 255 And g = 255 And b < 255
b + 1
EndIf
If r > 0 And g = 255 And b = 255
r - 1
EndIf
If r = 0 And g > 0 And b = 255
g - 1
EndIf
If r = 0 And g = 0 And b > 0
b - 1
EndIf
If r = 0 And g = 0 And b = 1
g = 1
b = 0
EndIf
If r = 0 And g < 255 And b = 0
g + 1
EndIf
If r < 255 And g = 255 And b < 255
r + 1
b + 1
EndIf
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)