Colour Picker
Clive Semmens (2335) 3276 posts |
If anyone’s working on the innards of !Draw, there’s something I’d rather like. Sadly it’s way beyond my expertise to implement it. The colour picker (for line colours, fill colours or text colours) gives wonderful fine control, and the old set of 16 preset colours. It would be very useful to have more than 16 preset colours available – without going the whole hog to 256 like !Paint does! There’s no magic (from my point of view) to powers of two in the number of presets; I’d be very happy with 24 and have made a mock-up of a possible colour picker with an extra row of swatches: http://clive.semmens.org.uk/RISCOS/Picker2,ff9 (that’s a sprite – the ,ff9 is the filetype as converted by LanMan to put the file on our NAS). There’s no magic about that number 24, nor about those particular colours – I chose them to be pretty easily distinguishable, but other sets of easily distinguishable colours would do equally well. There’s room on the colour picker to have say 30 colours, with an extra two columns, without having to make the swatches smaller or make the picker bigger. The logic behind this desideratum is that use of a colour picker like this gives consistent colours and is quick, whereas use of the lovely percentage system, while fabulously flexible, is slower, and liable to make subtly different colours if you’re not careful – not good if you’re making diagrams or maps with colour-keyed information. Sadly I can’t afford the value of this work, unless it’s a really easy job for someone and won’t cost much at all – but if lots of people like the proposal I could contribute to a bounty if others want to as well. |
Steve Fryatt (216) 2105 posts |
I can’t view your mock-up (if you’re putting links online, remember that not everyone reading your posts will be doing so whilst having access to RISC OS, so using a recognised image format is good), but I don’t think that this is a Draw issue. The Colour Picker is an OS component, so an improvement would benefit other applications as well. The colour history would probably have to be system-wide, but that’s not a real problem. Some form of named colour presets could be nice, too. |
Clive Semmens (2335) 3276 posts |
Good point and easily fixed: http://clive.semmens.org.uk/RISCOS/Picker2.jpg And of course if anyone would prefer another mock-up with say 30 or 32 colours, easily supplied. |
Steve Pampling (1551) 8172 posts |
Your comments do provoke the thought that if the swatch has eight intensity levels where all three colours in the RGB are equal thus producing eight shades of white-grey-black then why doesn’t it contain a set of easily selectable combinations of the eight levels of each? A mere 512 if I’ve got the numbers right. |
Clive Semmens (2335) 3276 posts |
8~) Not all easily distinguishable! 8~) The original 6 shades of grey between black and white aren’t always easily distinguishable, either – but the first two rows of my suggested picker are simply the existing 16-colour picker. The original 8 colours, unlike the greys, are easily distinguishable. It’s a matter of keeping the number down to something manageable for the purpose in hand: that is, making drawings and diagrams. For other purposes, where you want sixteen million different shades, the percentages work okay. A picker with too many swatches doesn’t make it easy to pick colours consistently. Paint does produce a colour picker with so many swatches you’re never sure if you’re picking the same colour again, or a subtly different one. |
Grahame Parish (436) 481 posts |
How about a palette where you can select colours to add to a working palette, with the selection acting like an intermediate working set – like a multi-colour clipboard holding the colours you are working with? Don’t know if I’ve explained that clearly – I got confused trying the write it down! |
John Williams (567) 768 posts |
But Paint does allow you to select a colour you’ve already used using its Select colour menu option, a useful function duplicated for any screen pixel by Rob Davison’s ColSample application. |
Rick Murray (539) 13850 posts |
A thought from me: My PC image editor (and my phone) have a system which, under RISC OS, would work sort of as follows: There are 24 colours. Initially sixteen are defined – the standard Wimp colours we’ve known since forever, and eight blank spaces. This could be for the lifetime of the application (like Windows) or saved and used systemwide (like Android). My vote would be for the latter if it’s ColourPicker we’re talking about. This method would give rapid access to standard colours (as always) with equally rapid spot-on access to recently used colours. |
Grahame Parish (436) 481 posts |
I think that is similar to what I was trying to describe (badly), although I saw it more as a local (to the application) colour scratchpad. |
Clive Semmens (2335) 3276 posts |
This gets my vote. With a system call to read the current extra eight colours, and another one to write them, you have the best of both worlds: flexibility, and the ability to get a particular set of precisely-defined colours when you want it. I don’t much care which particular set I have, as long as all the colours are nicely distinct, but I want to be able to get the same set back later regardless of what else has been happening in between, without having to type in 24 bytes of hex every time. Just read the current set and save a little file, then load the little file and write the old set back when you need it.
This is precisely what I for one DON’T want: I want to increase the number of preset colours somewhat, but not too much. I want a set of colours where you can look at a colour and know straight away which of the set it is, not a set where you think, “Is that number 37 or number 63?” Maps and diagrams with ambiguous colour coding are useless. |
Steve Pampling (1551) 8172 posts |
Ability to export and import, named, colour sets perhaps? Irrespective of the number of visible possibilities.
Surely it should tell you the colour number in a panel at one side? Where’s Nemo when you want him? I’m sure he’s got some colourful answers. OK awful pun. BTW, there’s an online spell/grammar checker plug-in for Firefox I’ve been testing – it seems to want me to change “…and know straight away…” to “…and no straight away…” |
Clive Semmens (2335) 3276 posts |
Absolutely!
Sorry, I obviously wasn’t very clear. What I mean is I want to be able to look at a diagram I made last year, and be able to recognize which colour that patch there is (assuming I know what colour set the diagram used, if there are multiple possibilities – I’d probably always use the same set for diagrams, perhaps a different set for maps). |
Steve Pampling (1551) 8172 posts |
That would be the Paint style Select colour. (I want to use that one I just touched)
Well the named sets is at least part of that. It would probably be awkward to embed the colour set info. |
David Feugey (2125) 2709 posts |
Could be easy, with a system variable used for these colours. |
Clive Semmens (2335) 3276 posts |
That’s one way to do it; what I was thinking was simply that if I can see “lilac” (or whatever) I know it’s exactly that lilac because it’s the only one anything like that in this particular colour set. That works very well with the eight colours of the traditional picker (not so well with the greys!) and would work fine with sensibly chosen sets of more colours, as long as you didn’t try to put too many colours in the set. (Old fashioned draughtsman habits die hard… 8~) ) |
Steve Fryatt (216) 2105 posts |
Different things… Paint does use the standard OS Colour Picker, when you have a free choice of colours. That is, when you’re editing a 32K or 16M colour sprite, or when you’re editing a pallette. You get the ‘swatch’ display when you’re editing a 256 or less colour sprite: the display shows you exactly the range of colours available either in the sprite’s mode, or its pallette. If you go to edit the pallette, then you get the OS Colour Picker. |
Rick Murray (539) 13850 posts |
Wait, so we’ve gone from arbitrary colour numbers (which have little meaning with 16M colours) to colour names? It’s not a bad idea per se, but where in the dialogue would you propose to have it say “LightGoldenRodYellow”1 for one colour, never mind the others… Perhaps this could be better handled by the following: 16 colour swatches of the standard Wimp colours Underneath that, a drop down menu with a colour name and example, rather like the previous old fashioned “Colours” menu, except there will be a mechanism to load custom palettes such as (for example) BBC Colours, Web Safe, basic Pantone, etc. While revising this dialogue, it might also be useful to be able to switch the measurement scales between percentages and 0-255, the former being useful for HSV ans The latter being much more useful for RGB. I’ve lost count of the number of times I’ve opened a TaskWindow and written a one-liner to translate RGB into %ges… 1 The name of a web safe named colour – #FAFAD2 |
Rick Murray (539) 13850 posts |
My phone now understands that I like ’u’s in words and using an ‘s’ in place of a ‘z’, but it still tries to sneak in single ‘l’ words of I’m not paying attention – leveled vs levelled, for instance. The last time I used a grammatical checker (Word95?), I removed the thing because it kept faulting my insistence of placing sentence structure punctuation outside the quotation marks. Yesterday I suggested a place to go shopping, and held up my phone which said: weave nut bin their fur uh ferruled wile. All completely correct words, only all homophones of the ones intended. |
Clive Semmens (2335) 3276 posts |
No, only in my head – “lilac” in my head corresponds to a range of colours that may or may not appear in the picker; hopefully just one of them does! And I never said anything about colour numbers; only about the number of colours. The only colour numbers I ever use are the not-arbitrary-at-all RGB hex triplets that RISCOS uses internally. |
Steve Pampling (1551) 8172 posts |
Who said any numbers were arbitrary? Now we really do need Nemo for the colour lecture.
Best not to get into a detailed discussion about several shades of a colour mix all being “lilac” otherwise the female members of your household will really give you grief.
I think you should. If you want to positively define any particular colour you need the agreed label and you can bet at least part of the label is a number. |
Clive Semmens (2335) 3276 posts |
Surely. I’m very happy with &FF00 is 100% Red, 0% Blue, 0% Green (“red”); &FF00FF00 is 100% Red, 0% Blue, 100% Green (“yellow”). Alternative numbers? Okay, if you must. Obviously if you’re going to save a colour set, they have to be defined in some such way. The hexadecimal triplet for RGB seems to be RISCOS’s normal method – internally in Drawfiles and Sprites, for example. A bit tedious to type in, and impossible using the percentage system in the colour picker. The whole point of my proposal is to make the picking of colours, from a deliberately restricted set (I suggested 24 colours, including the current 16, but 30 would be fine), quick and easy. Point at the colour itself and click. I don’t mind preparing the set in the first place by specifying some numbers – hexadecimal triplets for preference, but any consistent scheme will do – but having specified the colours in the set, I want to be able to select them quickly and easily, just as one can select any one of the default 16 colours in the existing picker quickly and easily. |
Clive Semmens (2335) 3276 posts |
Oh, and for a range of colours called lilac, Google Images is quite a hoot: https://tinyurl.com/y7v3rrhh |
Rick Murray (539) 13850 posts |
The “colour numbers” as used in !Paint’s normal palette view (not ColourPicker) might as well be arbitrary. They’re 0 to X (where X is colours in mode – 1) but they’re essentially arbitrary given that the palette can be customised and they lose meaning (becomes ridiculous) with modes having more than 256 colours. Would you like a selection window listing 16 million tiny swatches? Trust me – you wouldn’t. I speak from similar experience trying to find specific Kanji in Character Map in order to look up the character codes for them…far too many things that look alike.
Not really. The numbers ought be prefixed “Pantone” (to distinguish from, say, Duluxe paint shades) therefore one can consider “company identity plus numerical reference” to be a name, not a number.
That’s why I suggested the drop-down menu. Eight unnamed colour swatches (for speed of access) and a menu listing colours by whatever reference to allow for precise selection of desired colour. Best of both worlds.
Actually, that would be a bright green. ;-) You’re missing two "00"s (did they get stolen and stuck into a teabag?).
Oh? RGB is common (HTML, DrawFiles, etc) but quite a bit of RISC OS traditionally assumed and worked with palette entries in the form &BBGGRRxx – look at ColourTrans. Just sayin’. ;-)
Yes, especially when the picker uses a different scale (percentage) than most implementations of RGB (0-255).
And I added to that suggestion because while it may be easy to pick a colour swatch, it’s still a bit of a pain selecting those colours in the first place; plus if you need access to more colours than the swatches provide…
A colour I like is cerulean (no, not cyan!) and I end this blog article with a rant about how not only is cerulean not a sort of cyan, but there is some ambiguity as to what sort of non-cyan it actually is, which with real cerulean, web-safe cerulean, and “cerulean blue” being three entirely different colours…
Well, there you go. Lilac is cerulean with added pink. ;-) |
Steve Pampling (1551) 8172 posts |
|
Clive Semmens (2335) 3276 posts |
No it wouldn’t, and I’m not missing two zeros. I’m being little-endian instead of big endian (or is it the other way around? I can never remember the meaning of those terms). You write &FF00 in BASIC and stuff it in the right spot in a Drawfile and it’s red. Green is &FF0000. Blue is &FF000000. I do this stuff all the time…
Exactly. An RGB hexadecimal triplet, backwards because it’s little (or is it big?) endian, with an XX on the end that will be zero unless the whole lot’s &FFFFFFFF for no fill or no outline.
Again, exactly.
Nice. |