This module implements color handling for Nim.
定数
colAliceBlue = 15792383
- ソース 編集
colAntiqueWhite = 16444375
- ソース 編集
colAqua = 65535
- ソース 編集
colAquamarine = 8388564
- ソース 編集
colAzure = 15794175
- ソース 編集
colBeige = 16119260
- ソース 編集
colBisque = 16770244
- ソース 編集
colBlack = 0
- ソース 編集
colBlanchedAlmond = 16772045
- ソース 編集
colBlue = 255
- ソース 編集
colBlueViolet = 9055202
- ソース 編集
colBrown = 10824234
- ソース 編集
colBurlyWood = 14596231
- ソース 編集
colCadetBlue = 6266528
- ソース 編集
colChartreuse = 8388352
- ソース 編集
colChocolate = 13789470
- ソース 編集
colCoral = 16744272
- ソース 編集
colCornflowerBlue = 6591981
- ソース 編集
colCornsilk = 16775388
- ソース 編集
colCrimson = 14423100
- ソース 編集
colCyan = 65535
- ソース 編集
colDarkBlue = 139
- ソース 編集
colDarkCyan = 35723
- ソース 編集
colDarkGoldenRod = 12092939
- ソース 編集
colDarkGray = 11119017
- ソース 編集
colDarkGreen = 25600
- ソース 編集
colDarkKhaki = 12433259
- ソース 編集
colDarkMagenta = 9109643
- ソース 編集
colDarkOliveGreen = 5597999
- ソース 編集
colDarkorange = 16747520
- ソース 編集
colDarkOrchid = 10040012
- ソース 編集
colDarkRed = 9109504
- ソース 編集
colDarkSalmon = 15308410
- ソース 編集
colDarkSeaGreen = 9419919
- ソース 編集
colDarkSlateBlue = 4734347
- ソース 編集
colDarkSlateGray = 3100495
- ソース 編集
colDarkTurquoise = 52945
- ソース 編集
colDarkViolet = 9699539
- ソース 編集
colDeepPink = 16716947
- ソース 編集
colDeepSkyBlue = 49151
- ソース 編集
colDimGray = 6908265
- ソース 編集
colDodgerBlue = 2003199
- ソース 編集
colFireBrick = 11674146
- ソース 編集
colFloralWhite = 16775920
- ソース 編集
colForestGreen = 2263842
- ソース 編集
colFuchsia = 16711935
- ソース 編集
colGainsboro = 14474460
- ソース 編集
colGhostWhite = 16316671
- ソース 編集
colGold = 16766720
- ソース 編集
colGoldenRod = 14329120
- ソース 編集
colGray = 8421504
- ソース 編集
colGreen = 32768
- ソース 編集
colGreenYellow = 11403055
- ソース 編集
colHoneyDew = 15794160
- ソース 編集
colHotPink = 16738740
- ソース 編集
colIndianRed = 13458524
- ソース 編集
colIndigo = 4915330
- ソース 編集
colIvory = 16777200
- ソース 編集
colKhaki = 15787660
- ソース 編集
colLavender = 15132410
- ソース 編集
colLavenderBlush = 16773365
- ソース 編集
colLawnGreen = 8190976
- ソース 編集
colLemonChiffon = 16775885
- ソース 編集
colLightBlue = 11393254
- ソース 編集
colLightCoral = 15761536
- ソース 編集
colLightCyan = 14745599
- ソース 編集
colLightGoldenRodYellow = 16448210
- ソース 編集
colLightGrey = 13882323
- ソース 編集
colLightGreen = 9498256
- ソース 編集
colLightPink = 16758465
- ソース 編集
colLightSalmon = 16752762
- ソース 編集
colLightSeaGreen = 2142890
- ソース 編集
colLightSkyBlue = 8900346
- ソース 編集
colLightSlateGray = 7833753
- ソース 編集
colLightSteelBlue = 11584734
- ソース 編集
colLightYellow = 16777184
- ソース 編集
colLime = 65280
- ソース 編集
colLimeGreen = 3329330
- ソース 編集
colLinen = 16445670
- ソース 編集
colMagenta = 16711935
- ソース 編集
colMaroon = 8388608
- ソース 編集
colMediumAquaMarine = 6737322
- ソース 編集
colMediumBlue = 205
- ソース 編集
colMediumOrchid = 12211667
- ソース 編集
colMediumPurple = 9662680
- ソース 編集
colMediumSeaGreen = 3978097
- ソース 編集
colMediumSlateBlue = 8087790
- ソース 編集
colMediumSpringGreen = 64154
- ソース 編集
colMediumTurquoise = 4772300
- ソース 編集
colMediumVioletRed = 13047173
- ソース 編集
colMidnightBlue = 1644912
- ソース 編集
colMintCream = 16121850
- ソース 編集
colMistyRose = 16770273
- ソース 編集
colMoccasin = 16770229
- ソース 編集
colNavajoWhite = 16768685
- ソース 編集
colNavy = 128
- ソース 編集
colOldLace = 16643558
- ソース 編集
colOlive = 8421376
- ソース 編集
colOliveDrab = 7048739
- ソース 編集
colOrange = 16753920
- ソース 編集
colOrangeRed = 16729344
- ソース 編集
colOrchid = 14315734
- ソース 編集
colPaleGoldenRod = 15657130
- ソース 編集
colPaleGreen = 10025880
- ソース 編集
colPaleTurquoise = 11529966
- ソース 編集
colPaleVioletRed = 14184595
- ソース 編集
colPapayaWhip = 16773077
- ソース 編集
colPeachPuff = 16767673
- ソース 編集
colPeru = 13468991
- ソース 編集
colPink = 16761035
- ソース 編集
colPlum = 14524637
- ソース 編集
colPowderBlue = 11591910
- ソース 編集
colPurple = 8388736
- ソース 編集
colRed = 16711680
- ソース 編集
colRosyBrown = 12357519
- ソース 編集
colRoyalBlue = 4286945
- ソース 編集
colSaddleBrown = 9127187
- ソース 編集
colSalmon = 16416882
- ソース 編集
colSandyBrown = 16032864
- ソース 編集
colSeaGreen = 3050327
- ソース 編集
colSeaShell = 16774638
- ソース 編集
colSienna = 10506797
- ソース 編集
colSilver = 12632256
- ソース 編集
colSkyBlue = 8900331
- ソース 編集
colSlateBlue = 6970061
- ソース 編集
colSlateGray = 7372944
- ソース 編集
colSnow = 16775930
- ソース 編集
colSpringGreen = 65407
- ソース 編集
colSteelBlue = 4620980
- ソース 編集
colTan = 13808780
- ソース 編集
colTeal = 32896
- ソース 編集
colThistle = 14204888
- ソース 編集
colTomato = 16737095
- ソース 編集
colTurquoise = 4251856
- ソース 編集
colViolet = 15631086
- ソース 編集
colWheat = 16113331
- ソース 編集
colWhite = 16777215
- ソース 編集
colWhiteSmoke = 16119285
- ソース 編集
colYellow = 16776960
- ソース 編集
colYellowGreen = 10145074
- ソース 編集
プロシージャ
proc `==`(a, b: Color): bool {...}{.borrow.}
-
Compares two colors.
var a = Color(0xff_00_ff) b = colFuchsia c = Color(0x00_ff_cc) assert a == b assert not a == c
ソース 編集 proc `+`(a, b: Color): Color {...}{.raises: [], tags: [].}
-
Adds two colors.
This uses saturated arithmetic, so that each color component cannot overflow (255 is used as a maximum).
var a = Color(0xaa_00_ff) b = Color(0x11_cc_cc) assert a + b == Color(0xbb_cc_ff)
ソース 編集 proc `-`(a, b: Color): Color {...}{.raises: [], tags: [].}
-
Subtracts two colors.
This uses saturated artithmetic, so that each color component cannot underflow (0 is used as a minimum).
var a = Color(0xff_33_ff) b = Color(0x11_ff_cc) assert a - b == Color(0xee_00_33)
ソース 編集 proc extractRGB(a: Color): tuple[r, g, b: range[0 .. 255]] {...}{.raises: [], tags: [].}
-
Extracts the red/green/blue components of the color a.
var a = Color(0xff_00_ff) b = Color(0x00_ff_cc) type Col = range[0..255] echo extractRGB(a) # => (r: 255, g: 0, b: 255) echo extractRGB(b) # => (r: 0, g: 255, b: 204)
ソース 編集 proc intensity(a: Color; f: float): Color {...}{.raises: [], tags: [].}
-
Returns a with intensity f. f should be a float from 0.0 (completely dark) to 1.0 (full color intensity).
var a = Color(0xff_00_ff) b = Color(0x00_42_cc) assert a.intensity(0.5) == Color(0x80_00_80) assert b.intensity(0.5) == Color(0x00_21_66)
ソース 編集 proc `$`(c: Color): string {...}{.raises: [], tags: [].}
-
Converts a color into its textual representation.
assert $colFuchsia == "#FF00FF"
ソース 編集 proc parseColor(name: string): Color {...}{.raises: [ValueError], tags: [].}
-
Parses name to a color value.
If no valid color could be parsed ValueError is raised. Case insensitive.
var a = "silver" b = "#0179fc" c = "#zzmmtt" assert parseColor(a) == Color(0xc0_c0_c0) assert parseColor(b) == Color(0x01_79_fc) doAssertRaises(ValueError): discard parseColor(c)
ソース 編集 proc isColor(name: string): bool {...}{.raises: [], tags: [].}
-
Returns true if name is a known color name or a hexadecimal color prefixed with #. Case insensitive.
var a = "silver" b = "#0179fc" c = "#zzmmtt" assert a.isColor assert b.isColor assert not c.isColor
ソース 編集 proc rgb(r, g, b: range[0 .. 255]): Color {...}{.raises: [], tags: [].}
-
Constructs a color from RGB values.
assert rgb(0, 255, 128) == Color(0x00_ff_80)
ソース 編集
テンプレート
template mix(a, b: Color; fn: untyped): untyped
-
Uses fn to mix the colors a and b.
fn is invoked for each component R, G, and B. If fn's result is not in the range[0..255], it will be saturated to be so.
var a = Color(0x0a2814) b = Color(0x050a03) proc myMix(x, y: int): int = 2 * x - 3 * y assert mix(a, b, myMix) == Color(0x05_32_1f)
ソース 編集