elm-color icon indicating copy to clipboard operation
elm-color copied to clipboard

Does there need to be a way to get the RGB components as [0,255] ?

Open avh4 opened this issue 7 years ago • 3 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 }

avh4 avatar Sep 10 '18 05:09 avh4

Given there aren't any clear use-cases documented yet, I think this can wait for consideration in 1.1.0.

avh4 avatar Sep 11 '18 04:09 avh4

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:

  1. 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 the Model, but in the input fields, the Color is represented as 0-255 numbers the user can modify.
  2. 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 the Color as its stored in the palette to the 0-255 number format for the canvas.

Chadtech avatar Sep 15 '18 09:09 Chadtech

The simplest use case is to use it with elm-css. At the moment this is quite inconvenient.

tgelu avatar Jun 02 '20 21:06 tgelu