Backgroundcolor eines Windows/Farbverläufe

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Dark Skillu
Beiträge: 103
Registriert: 18.03.2007 15:03

Backgroundcolor eines Windows/Farbverläufe

Beitrag von Dark Skillu »

Hallo ich würde gerne den Hintergrund eines Fenster z.B. rot färben, das funktioniert ja auch mit

Code: Alles auswählen

SetWindowColor
aber wie schaffe ich einen Farbverlauf von z.B. gelb zu rot?
Jemand eine Idee?

Sowas ähnliches wie die Hintegrundfarbe von diesem Sprite, war glaub ich von FluidByte der Code, sry wenn du es nciht warst und nen anderer

Code: Alles auswählen

InitSprite() : InitKeyboard()

OpenWindow(0,0,0,640,480,"void",#WS_SYSMENU | #WS_CAPTION | 1)
OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0)
CreateSprite(0,640,480)

StartDrawing(SpriteOutput(0))
For i=0 To 479
Box(0,i,640,i,RGB(i*255/479,0,0))
Next
StopDrawing()

Repeat
   EventID = WindowEvent()
   ExamineKeyboard()
   ClearScreen(255)     
   DisplaySprite(0,0,0)   
   FlipBuffers()
Until EventID = 16 Or KeyboardPushed(1)
Zuletzt geändert von Dark Skillu am 20.05.2007 15:32, insgesamt 1-mal geändert.
Ich benutze PureBasic 4.0.
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Mit

Code: Alles auswählen

StartDrawing(WindowOutput(Window))
dann kannst mit LineXY() deinen schönen Farbverlauf zeichnen.


//Edit: oder du hast ein Image und machst es mit DrawImage(Image)

PS. du musst in der Hauptschleife das Zeichnen ausführen, weil es sonst "beschädigt" werden kann
Zuletzt geändert von Andreas_S am 20.05.2007 15:32, insgesamt 1-mal geändert.
Benutzeravatar
Dark Skillu
Beiträge: 103
Registriert: 18.03.2007 15:03

Beitrag von Dark Skillu »

Das mit Startdrawing ist ja relativ klar, aber wenn ich nen Hintergrund mit LineXY zeichne dann muss ich ja tausend linien ziehen, gibts dafür ne schleife? ForNext oder so?
Ich benutze PureBasic 4.0.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

Dann mach die Linie doch einfach ein bisschen dicker!
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Ich hab mal ne Prozedure gemacht mit dem man Farbübergänge zeichnen kann. Den setzt man einfach in StartDrawing() und StopDrawing().
Brauchst den ?
Benutzeravatar
Dark Skillu
Beiträge: 103
Registriert: 18.03.2007 15:03

Beitrag von Dark Skillu »

Joa gerne, bewirkt die prozedure sowas wie im Code in meinem erste post?Also so einen Farbverlauf, so etwas ähnliches hätte ich gerne als Hintergrund von nem Window wenn es machbar ist
Ich benutze PureBasic 4.0.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

denk halt dran, dass man sachen die direkt auf fenster gemalt werden, selber refreshen muss...

farbverlauf funktioniert z.b. so:

Code: Alles auswählen

OpenWindow(0,0,0,384,256,"Farbverlauf", #PB_Window_ScreenCentered | #PB_Window_SystemMenu )

StartDrawing(WindowOutput(0))
  For n=0 To 127
    Line(0,128+n,384,0,RGB(0,0,255-n))
    Line(0,127-n,384,0,RGB(n,n,255))
  Next
StopDrawing()

Repeat:Until WaitWindowEvent() = #PB_Event_CloseWindow
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Dark Skillu
Beiträge: 103
Registriert: 18.03.2007 15:03

Beitrag von Dark Skillu »

Mal eine dumme Frage, ist der Doppelpunkt zwischen Repeat und Until nötig? Was meinst du genau mit refreshen?

Danke für eure Hilfe bis jetzt :allright:
Ich benutze PureBasic 4.0.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Dark Skillu hat geschrieben:Mal eine dumme Frage, ist der Doppelpunkt zwischen Repeat und Until nötig?
Versuch macht kluch. Du kannst ihn ja mal entfernen ;-)

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Dark Skillu
Beiträge: 103
Registriert: 18.03.2007 15:03

Beitrag von Dark Skillu »

Danke :oops: Aber was ist mit dem refreshen?
Ich benutze PureBasic 4.0.
Antworten