Does there need to be a way to get the RGB components as [0,255] ?
avh4 opened this issue · comments
Questions:
- Is there a use case for getting the RGB components as [0,255]? How common is it?
- If common, should alpha be provided as [0,255], or [0.0,1.0], or both?
Currently, there is toHex
, which does the conversion to integers, but only provides the result as a hex string. Is this sufficient for common needs? It is also currently possible to use toRgba
and convert the components yourself using (*) 255 >> round
.
We could possibly add something like the following:
toRgb255 : Color -> { red : Int, green : Int, blue : Int, alpha : Float }
Given there aren't any clear use-cases documented yet, I think this can wait for consideration in 1.1.0.
I have a project in 0.18 that uses the old Color
package extensively. Its a paint drawing application (ctpaint.org/app). Here are some cases in that project where I think a Color
to 0-255 number string would be useful:
- My project has a color picker. In the color picker there are html input fields for the HSL and the RGB values. I have a
Color
in theModel
, but in the input fields, theColor
is represented as 0-255 numbers the user can modify. - The project stores colors in a palette that the user choose to draw in on the main canvas. All colors are stored in the Elm
Color
type and draws colors from the palette onto a native JS canvas, which is in the format of 0-255 numbers. To do the drawing operations in the paint program I need to translate from theColor
as its stored in the palette to the 0-255 number format for the canvas.
The simplest use case is to use it with elm-css. At the moment this is quite inconvenient.