Tools to work with color
orx-color adds an extensive list of preset colors to ColorRGBa
. Check sources for a listing of the preset colors.
orx-color comes with tools to calculate color histograms for images.
val histogram = calculateHistogramRGB(image)
val colors = histogram.sortedColors()
Easy ways of creating blends between colors.
Using the rangeTo
operator:
for (c in ColorRGBa.PINK..ColorRGBa.BLUE.toHSVa() blend 10) {
drawer.fill = c
drawer.rectangle(0.0, 0.0, 40.0, 40.0)
drawer.translate(0.0, 40.0)
}
Or blends for multiple color stops using colorSequence
. Blending takes place in the colorspace of the input arguments.
val cs = colorSequence(0.0 to ColorRGBa.PINK,
0.5 to ColorRGBa.BLUE,
1.0 to ColorRGBa.PINK.toHSLUVa()) // <-- note this one is in hsluv
for (c in cs blend (width / 40)) {
drawer.fill = c
drawer.stroke = null
drawer.rectangle(0.0, 0.0, 40.0, height.toDouble())
drawer.translate(40.0, 0.0)
}
Two color spaces are added: ColorHSLUVa
and ColorHPLUVa
, they are an implementation of the colorspaces presented at hsluv.org