Farbverlauf ich hasse dich
Übersicht

![]() |
Der EisvogelBetreff: Farbverlauf ich hasse dich |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Ich versuche einen Farbverlauf in ein Pixmap zu malen, aber leider wird aus dem Farbverlauf nix. ![]() Code: [AUSKLAPPEN] Local pixmap:TPixmap=CreatePixmap(400,400,PF_RGBA8888)
For Local x:Int=0 To 399 For Local y:Int=0 To 149 WritePixel(pixmap,x,y,$FF87CEEB) Next For Local y:Int=150 To 249 Local r:Float=135/100.0*(250-y) Local g:Float=206/100.0*(250-y) Local b:Float=185/100.0*(250-y)+50 WritePixel(pixmap,x,y,$FF000000+r*$10000+g*$100+b) Next For Local y:Int=250 To 399 WritePixel(pixmap,x,y,$FF000032) Next Next Local background:TImage=LoadImage(pixmap) EDIT: ich habe mir auch schon die RGB-Wete angeguckt, aber die Stimmen. Was mache ich falsch in BB übersetzt funktioniert das Prima. Danke für eure Hilfe. MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde dir empfehlen ClearPixels zu benutzen damit später keine Fragmente zu sehen sind. Ansonsten muss man nur in die passenden Typen Casten...
BlitzMax: [AUSKLAPPEN] SuperStrict |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wo ist das Problem in meinem Code? Der ist doch gleich nur halt das mit dem ClearPixels, oder? | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzMax: [AUSKLAPPEN] WritePixel(pixmap,x,y,$FF000000+r*$10000+g*$100+b) Diese Zeile funktioniert so natürlich nur, wenn r, g und b Int sind... Genau diesen Cast hat Xeres auch noch drin. Übrigens kannst du r, g und b auch direkt als Int deklarieren - und schon siehts prima aus ![]() mfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Uff, und warum dürfen die nicht int sein? Ist das einfach so oder gibt es da auch ne logischen Erklärung? | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ganz einfach:
Aufgrund der Arithmetik (und dem Farbformat PR_RGBA8888) werden Farben als Integer so abgespeichert, dass die "vordersten" 8 Bit Alpha ausmachen, dann 8 Bit für Rot, 8 Bit Grün und noch 8 Bit Blau. Ein reines Grün hat also den Wert $0000FF00 oder 65280 oder binär 1111111100000000 - oder eben: 255 *$100, alternativ auch 255 *256, ist das selbe. Rechnet man aber nun zB 249.9 *256 gibt das 65254.4, was dir vielleicht jetzt noch nix sagt, aber wenn du dir die Zahl gerundet auf 65254 in Hex oder Binär anschaust, sollten bei dir die Alarmglocken läuten: Hex: $FEE6 Binär: 1111111011100110 (Die rot markierten Ziffern gehören nämlich zu einem anderen Farbanteil - deshalb diese Fraktale) mfg PS: Normalerweise antworte ich nicht auf Beiträge, die nicht halb so lang sind wie die darunterstehende Signatur ![]() Nochnedit: Hat sich erledigt =) |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
- Zuletzt bearbeitet von Holzchopf am Di, Aug 25, 2009 19:51, insgesamt einmal bearbeitet
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke
Zitat: PS: Normalerweise antworte ich nicht auf Beiträge, die nicht halb so lang sind wie die darunterstehende Signatur Rolling Eyes Edit: Sorry, ich meine nicht "halb so lang", schliesslich zählt ja nicht die Zeilenzahl sondern die Höhe in Pixel...
Du Scherzkeks ![]() ![]() |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group