Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Graphics
  4. Sorting colors

Sorting colors

Scheduled Pinned Locked Moved Graphics
algorithms
3 Posts 2 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    Nishad S
    wrote on last edited by
    #1

    Hi, I have a list of colors (with RGB value and name). I need to sort them according to the RGB. The list is expected as linear (1 dimensional). Sorting means, similar color (for eg., shades of blue) should come nearby. From googling I found that CIELAB color space is better to use for this. But even though I converted to CIELAB and do a lot of experiments, I couldn't sort successfully. If you have some suggestions or guidelines please share. Thank you.

    - ns ami -

    L 1 Reply Last reply
    0
    • N Nishad S

      Hi, I have a list of colors (with RGB value and name). I need to sort them according to the RGB. The list is expected as linear (1 dimensional). Sorting means, similar color (for eg., shades of blue) should come nearby. From googling I found that CIELAB color space is better to use for this. But even though I converted to CIELAB and do a lot of experiments, I couldn't sort successfully. If you have some suggestions or guidelines please share. Thank you.

      - ns ami -

      L Offline
      L Offline
      Luc Pattyn
      wrote on last edited by
      #2

      I don't think there is a really good solution to your quest. First of all you have to decide what order you really want. If you have 6 colors (dark green, light green, dark blue, light blue, dark red, light red), what would you want as a result? Once you decided that, it wouldn't be too hard to implement it; the probable approach is giving each color a numeric value which probably would be calculated from two color aspects, e.g. 256 * hue + saturation (each aspect assumed to be between 0 and 255). However I can't imagine a good order for the example given earlier. :)

      Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

      Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

      N 1 Reply Last reply
      0
      • L Luc Pattyn

        I don't think there is a really good solution to your quest. First of all you have to decide what order you really want. If you have 6 colors (dark green, light green, dark blue, light blue, dark red, light red), what would you want as a result? Once you decided that, it wouldn't be too hard to implement it; the probable approach is giving each color a numeric value which probably would be calculated from two color aspects, e.g. 256 * hue + saturation (each aspect assumed to be between 0 and 255). However I can't imagine a good order for the example given earlier. :)

        Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

        Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

        N Offline
        N Offline
        Nishad S
        wrote on last edited by
        #3

        Thank you for your reply. As you mentioned, the order can be based on hue. I have already done some experiments with that. If we use HSV or HSL color model, and then the priority is as hue > sat > val/lum, still the order was not satisfying. Then I tried CIELAB, but have no idea on how to sort the colors in this color space. In some sites, it is said that this color space is best for our (human) perspective. I just want to get an order in the appearance of colors. I doubt, it is not so easy to sort and list the colors in one dimension. Trying again and again... :)

        - ns ami -

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups