[PBI] Colors.pbi - Farbkonstanten

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

[PBI] Colors.pbi - Farbkonstanten

Beitrag von Kaeru Gaman »

jetzt verbessert und wirklich korrekt lauffähig:

[edit]
zweiten Teil angehängt, prefix-schema geändert.
die CSS-Farben verdanken wir Trond.

[edit2]
prefix nochmal geändert. nun analog zu API-Konstanten.
API: #COLOR_ // AllColors.pbi: #Color_

Code: Alles auswählen

;*******************************************
;***
;*** ALLCOLORS.PBI
;***
;*** Part 1 by Kaeru Gaman
;*** imported from 'colors.inc' by POV
;*** www.povray.org
;***
;*** Part 2 by Trond
;*** CSS-Colors
;***

;***********************
;***
;*** FRGB( Red.f, Grn.f, Blu.f )
;***
;*** creates a 24bit Color from three
;*** float-values between 0 and 1
;***

Procedure.l Col_FRGB(Rot.f, Grn.f, Blu.f)
  ProcedureReturn  Int($FF * Rot) + Int($FF * Grn) << 8 + Int($FF * Blu) << 16
EndProcedure

;***********************
;***
;*** Part 1 : POV-Colors
;***

;// COLORS:
#Color_Pov_Red     = $0000FF
#Color_Pov_Green   = $00FF00
#Color_Pov_Blue    = $FF0000
#Color_Pov_Yellow  = $00FFFF
#Color_Pov_Cyan    = $FFFF00
#Color_Pov_Magenta = $FF00FF
#Color_Pov_White   = $FFFFFF
#Color_Pov_Black   = $000000

;// These grays are useful For fine-tuning lighting color values
;// And For other areas where subtle variations of grays are needed.
;// PERCENTAGE GRAYS:
#Color_Pov_Gray05 = $0C0C0C
#Color_Pov_Gray10 = $191919
#Color_Pov_Gray15 = $262626
#Color_Pov_Gray20 = $333333
#Color_Pov_Gray25 = $3F3F3F
#Color_Pov_Gray30 = $4C4C4C
#Color_Pov_Gray35 = $595959
#Color_Pov_Gray40 = $666666
#Color_Pov_Gray45 = $727272
#Color_Pov_Gray50 = $7F7F7F
#Color_Pov_Gray55 = $8C8C8C
#Color_Pov_Gray60 = $999999
#Color_Pov_Gray65 = $A5A5A5
#Color_Pov_Gray70 = $B2B2B2
#Color_Pov_Gray75 = $BFBFBF
#Color_Pov_Gray80 = $CCCCCC
#Color_Pov_Gray85 = $D8D8D8
#Color_Pov_Gray90 = $E5E5E5
#Color_Pov_Gray95 = $F2F2F2

;// OTHER GRAYS
#Color_Pov_DimGray    = $545454
#Color_Pov_MedGray    = $BFBFBF
#Color_Pov_LightGray  = $A8A8A8
#Color_Pov_VLightGray = $CCCCCC

;// OTHER COLORS
#Color_Pov_Aquamarine         = $93DB70
#Color_Pov_BlueViolet         = $9E5E9E
#Color_Pov_Brown              = $2A2AA5
#Color_Pov_CadetBlue          = $9E9E5E
#Color_Pov_Coral              = $007EFF
#Color_Pov_CornflowerBlue     = $6E4242
#Color_Pov_DarkGreen          = $2F4F2F
#Color_Pov_DarkOliveGreen     = $2F4F4F
#Color_Pov_DarkOrchid         = $CC3199
#Color_Pov_DarkSlateBlue      = $8E231E
#Color_Pov_DarkSlateGray      = $4F4F2F
#Color_Pov_DarkSlateGrey      = $4F4F2F
#Color_Pov_DarkTurquoise      = $DB9370
#Color_Pov_Firebrick          = $23238E
#Color_Pov_ForestGreen        = $238E23
#Color_Pov_Gold               = $317ECC
#Color_Pov_Goldenrod          = $70DBDB
#Color_Pov_GreenYellow        = $70DB93
#Color_Pov_IndianRed          = $2F2F4F
#Color_Pov_Khaki              = $5E9E9E
#Color_Pov_LightBlue          = $D8D8BF
#Color_Pov_LightSteelBlue     = $BC8E8E
#Color_Pov_LimeGreen          = $31CC31
#Color_Pov_Maroon             = $6B238E
#Color_Pov_MediumAquamarine   = $99CC31
#Color_Pov_MediumBlue         = $CC3131
#Color_Pov_MediumForestGreen  = $238E6B
#Color_Pov_MediumGoldenrod    = $ACE9E9
#Color_Pov_MediumOrchid       = $DB7093
#Color_Pov_MediumSeaGreen     = $426E42
#Color_Pov_MediumSlateBlue    = $FF007E
#Color_Pov_MediumSpringGreen  = $00FF7E
#Color_Pov_MediumTurquoise    = $DBDB70
#Color_Pov_MediumVioletRed    = $9370DB
#Color_Pov_MidnightBlue       = $4F2F2F
#Color_Pov_Navy               = $8E2323
#Color_Pov_NavyBlue           = $8E2323
#Color_Pov_Orange             = $007FFF
#Color_Pov_OrangeRed          = $003FFF
#Color_Pov_Orchid             = $DB70DB
#Color_Pov_PaleGreen          = $8EBC8E
#Color_Pov_Pink               = $8E8EBC
#Color_Pov_Plum               = $E9ACE9
#Color_Pov_Salmon             = $42426E
#Color_Pov_SeaGreen           = $6B8E23
#Color_Pov_Sienna             = $236B8E
#Color_Pov_SkyBlue            = $CC9931
#Color_Pov_SlateBlue          = $FF7E00
#Color_Pov_SpringGreen        = $7EFF00
#Color_Pov_SteelBlue          = $8E6B23
#Color_Pov_Tan                = $7093DB
#Color_Pov_Thistle            = $D8BFD8
#Color_Pov_Turquoise          = $E9E9AC
#Color_Pov_Violet             = $4F2F4F
#Color_Pov_VioletRed          = $9931CC
#Color_Pov_Wheat              = $BFD8D8
#Color_Pov_YellowGreen        = $31CC99

#Color_Pov_SummerSky          = $DDAF38
#Color_Pov_RichBlue           = $AA5959
#Color_Pov_Brass              = $42A5B5
#Color_Pov_Copper             = $3372B7
#Color_Pov_Bronze             = $23778C
#Color_Pov_Bronze2            = $3D7CA5
#Color_Pov_Silver             = $F9E8E5
#Color_Pov_BrightGold         = $19D8D8
#Color_Pov_OldGold            = $3AB5CE
#Color_Pov_Feldspar           = $7591D1
#Color_Pov_Quartz             = $F2D8D8
#Color_Pov_NeonPink           = $C66DFF
#Color_Pov_DarkPurple         = $771E87
#Color_Pov_NeonBlue           = $FF4C4C
#Color_Pov_CoolCopper         = $1987D8
#Color_Pov_MandarinOrange     = $3377E2
#Color_Pov_LightWood          = $A5C1E8
#Color_Pov_MediumWood         = $637FA5
#Color_Pov_DarkWood           = $425E84
#Color_Pov_SpicyPink          = $AD1CFF
#Color_Pov_SemiSweetChoc      = $26426B
#Color_Pov_BakersChoc         = $16335B
#Color_Pov_Flesh              = $AFCCF4
#Color_Pov_NewTan             = $9EC6EA
#Color_Pov_NewMidnightBlue    = $9B0000
#Color_Pov_VeryDarkBrown      = $232859
#Color_Pov_DarkBrown          = $333F5B
#Color_Pov_DarkTan            = $4F6896
#Color_Pov_GreenCopper        = $757C51
#Color_Pov_DkGreenCopper      = $6D7549
#Color_Pov_DustyRose          = $636384
#Color_Pov_HuntersGreen       = $4F5E21
#Color_Pov_Scarlet            = $16168C
#Color_Pov_Med_Purple         = $F428BA
#Color_Pov_Light_Purple       = $F993DD
#Color_Pov_Very_Light_Purple  = $FCCEEF

;***********************
;***
;*** Part 2 : CSS-Colors
;***

#Color_Css_AliceBlue             = $FFF8F0
#Color_Css_AntiqueWhite          = $D7EBFA
#Color_Css_Aqua                  = $FFFF00
#Color_Css_Aquamarine            = $D4FF7F
#Color_Css_Azure                 = $FFFFF0
#Color_Css_Beige                 = $DCF5F5
#Color_Css_Bisque                = $C4E4FF
#Color_Css_Black                 = $000000
#Color_Css_BlanchedAlmond        = $CDEBFF
#Color_Css_Blue                  = $FF0000
#Color_Css_BlueViolet            = $E22B8A
#Color_Css_Brown                 = $2A2AA5
#Color_Css_BurlyWood             = $87B8DE
#Color_Css_CadetBlue             = $A09E5F
#Color_Css_Chartreuse            = $00FF7F
#Color_Css_Chocolate             = $1E69D2
#Color_Css_Coral                 = $507FFF
#Color_Css_CornflowerBlue        = $ED9564
#Color_Css_Cornsilk              = $DCF8FF
#Color_Css_Crimson               = $3C14DC
#Color_Css_Cyan                  = $FFFF00
#Color_Css_DarkBlue              = $8B0000
#Color_Css_DarkCyan              = $8B8B00
#Color_Css_DarkGoldenRod         = $0B86B8
#Color_Css_DarkGray              = $A9A9A9
#Color_Css_DarkGrey              = $A9A9A9
#Color_Css_DarkGreen             = $006400
#Color_Css_DarkKhaki             = $6BB7BD
#Color_Css_DarkMagenta           = $8B008B
#Color_Css_DarkOliveGreen        = $2F6B55
#Color_Css_Darkorange            = $008CFF
#Color_Css_DarkOrchid            = $CC3299
#Color_Css_DarkRed               = $00008B
#Color_Css_DarkSalmon            = $7A96E9
#Color_Css_DarkSeaGreen          = $8FBC8F
#Color_Css_DarkSlateBlue         = $8B3D48
#Color_Css_DarkSlateGray         = $4F4F2F
#Color_Css_DarkSlateGrey         = $4F4F2F
#Color_Css_DarkTurquoise         = $D1CE00
#Color_Css_DarkViolet            = $D30094
#Color_Css_DeepPink              = $9314FF
#Color_Css_DeepSkyBlue           = $FFBF00
#Color_Css_DimGray               = $696969
#Color_Css_DimGrey               = $696969
#Color_Css_DodgerBlue            = $FF901E
#Color_Css_FireBrick             = $2222B2
#Color_Css_FloralWhite           = $F0FAFF
#Color_Css_ForestGreen           = $228B22
#Color_Css_Fuchsia               = $FF00FF
#Color_Css_Gainsboro             = $DCDCDC
#Color_Css_GhostWhite            = $FFF8F8
#Color_Css_Gold                  = $00D7FF
#Color_Css_GoldenRod             = $20A5DA
#Color_Css_Gray                  = $808080
#Color_Css_Grey                  = $808080
#Color_Css_Green                 = $008000
#Color_Css_GreenYellow           = $2FFFAD
#Color_Css_HoneyDew              = $F0FFF0
#Color_Css_HotPink               = $B469FF
#Color_Css_IndianRed             = $5C5CCD
#Color_Css_Indigo                = $82004B
#Color_Css_Ivory                 = $F0FFFF
#Color_Css_Khaki                 = $8CE6F0
#Color_Css_Lavender              = $FAE6E6
#Color_Css_LavenderBlush         = $F5F0FF
#Color_Css_LawnGreen             = $00FC7C
#Color_Css_LemonChiffon          = $CDFAFF
#Color_Css_LightBlue             = $E6D8AD
#Color_Css_LightCoral            = $8080F0
#Color_Css_LightCyan             = $FFFFE0
#Color_Css_LightGoldenRodYellow  = $D2FAFA
#Color_Css_LightGray             = $D3D3D3
#Color_Css_LightGrey             = $D3D3D3
#Color_Css_LightGreen            = $90EE90
#Color_Css_LightPink             = $C1B6FF
#Color_Css_LightSalmon           = $7AA0FF
#Color_Css_LightSeaGreen         = $AAB220
#Color_Css_LightSkyBlue          = $FACE87
#Color_Css_LightSlateGray        = $998877
#Color_Css_LightSlateGrey        = $998877
#Color_Css_LightSteelBlue        = $DEC4B0
#Color_Css_LightYellow           = $E0FFFF
#Color_Css_Lime                  = $00FF00
#Color_Css_LimeGreen             = $32CD32
#Color_Css_Linen                 = $E6F0FA
#Color_Css_Magenta               = $FF00FF
#Color_Css_Maroon                = $000080
#Color_Css_MediumAquaMarine      = $AACD66
#Color_Css_MediumBlue            = $CD0000
#Color_Css_MediumOrchid          = $D355BA
#Color_Css_MediumPurple          = $D87093
#Color_Css_MediumSeaGreen        = $71B33C
#Color_Css_MediumSlateBlue       = $EE687B
#Color_Css_MediumSpringGreen     = $9AFA00
#Color_Css_MediumTurquoise       = $CCD148
#Color_Css_MediumVioletRed       = $8515C7
#Color_Css_MidnightBlue          = $701919
#Color_Css_MintCream             = $FAFFF5
#Color_Css_MistyRose             = $E1E4FF
#Color_Css_Moccasin              = $B5E4FF
#Color_Css_NavajoWhite           = $ADDEFF
#Color_Css_Navy                  = $800000
#Color_Css_OldLace               = $E6F5FD
#Color_Css_Olive                 = $008080
#Color_Css_OliveDrab             = $238E6B
#Color_Css_Orange                = $00A5FF
#Color_Css_OrangeRed             = $0045FF
#Color_Css_Orchid                = $D670DA
#Color_Css_PaleGoldenRod         = $AAE8EE
#Color_Css_PaleGreen             = $98FB98
#Color_Css_PaleTurquoise         = $EEEEAF
#Color_Css_PaleVioletRed         = $9370D8
#Color_Css_PapayaWhip            = $D5EFFF
#Color_Css_PeachPuff             = $B9DAFF
#Color_Css_Peru                  = $3F85CD
#Color_Css_Pink                  = $CBC0FF
#Color_Css_Plum                  = $DDA0DD
#Color_Css_PowderBlue            = $E6E0B0
#Color_Css_Purple                = $800080
#Color_Css_Red                   = $0000FF
#Color_Css_RosyBrown             = $8F8FBC
#Color_Css_RoyalBlue             = $E16941
#Color_Css_SaddleBrown           = $13458B
#Color_Css_Salmon                = $7280FA
#Color_Css_SandyBrown            = $60A4F4
#Color_Css_SeaGreen              = $578B2E
#Color_Css_SeaShell              = $EEF5FF
#Color_Css_Sienna                = $2D52A0
#Color_Css_Silver                = $C0C0C0
#Color_Css_SkyBlue               = $EBCE87
#Color_Css_SlateBlue             = $CD5A6A
#Color_Css_SlateGray             = $908070
#Color_Css_SlateGrey             = $908070
#Color_Css_Snow                  = $FAFAFF
#Color_Css_SpringGreen           = $7FFF00
#Color_Css_SteelBlue             = $B48246
#Color_Css_Tan                   = $8CB4D2
#Color_Css_Teal                  = $808000
#Color_Css_Thistle               = $D8BFD8
#Color_Css_Tomato                = $4763FF
#Color_Css_Turquoise             = $D0E040
#Color_Css_Violet                = $EE82EE
#Color_Css_Wheat                 = $B3DEF5
#Color_Css_White                 = $FFFFFF
#Color_Css_WhiteSmoke            = $F5F5F5
#Color_Css_Yellow                = $00FFFF
#Color_Css_YellowGreen           = $32CD9A
Zuletzt geändert von Kaeru Gaman am 10.04.2007 21:43, insgesamt 2-mal geändert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wenn Du nichts dagegen hast, werde ich das ins IncludePack integrieren,
wäre noch nett, wenn Du mir sagst, wofür die ungenutzte Procedure ist.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Wenn Du nichts dagegen hast, werde ich das ins IncludePack integrieren,

gerne, freut mich :D

> wofür die ungenutzte Procedure ist.

die erzeugt einen 24bit RGB wert aus drei Float-werten von 0 bis 1.
FRGB bedeutet FloatRGB.
schwarz ist FRGB( 0, 0, 0), weiß ist FRGB( 1, 1, 1), grau50 ist FRGB( 0.5, 0.5, 0.5)

die hab ich gebraucht, um den eigentlichen zuweisungscode zu erzeugen,
die ursprünglichen angaben im include für POV waren floats.

beispiel:

Code: Alles auswählen

Debug "#PB_Col_MediumOrchid       = $"+Hex(FRGB(0.576471, 0.439216, 0.858824))
ursprünglich wollte ich die konstanten direkt aus den floats erzeugen, mittels eines Macros,
aber leider gab es dabei ein unüberwindbares typecast-problem,
sodass ich mir einen erzeugercode schreiben musste.

die Proc hab ich sozusagen der vollständigkeit halber drin gelassen,
benötigt wird sie nicht direkt, aber sie ist vielleicht praktisch.


PS:
code ergänzt, siehe erstes posting
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> prefix-schema geändert
Was spricht gegen Color? Hat ja nicht viel mit Column zu tun :mrgreen:
Die Systemfarben der Win-API fangen ja auch mit #COLOR an:

Code: Alles auswählen

#COLOR_3DDKSHADOW
#COLOR_BTNFACE
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

wusst ich nicht...
hm... aber die systemfarben sind doch die ausm farbschema...

nuja... von mir aus jag ichs nochmal durchn replace, aber im englischen forum müsst ichs dann auch nochmal ändern..
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Warum nicht gross? #COLOR :lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

damit man es unterscheiden kann....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten