How do I find the rgb values for colors defined by their name: e.g. blue, green, yellow etc.
Jan Schenkel
janschenkel at yahoo.com
Tue Dec 10 16:09:33 EST 2013
Hi Richard et al,
There's an even faster method, based on the fact that the graphic effects always convert colour names to rob triplets.
See: <http://quality.runrev.com/show_bug.cgi?id=10253>
Here's a script to compare the average speed of the colorOverlay["color"] method versus the effective backPixel method:
##
on mouseUp
local tColorName, tColorRGB1, tColorRGB2, tStart, tTime1, tTime2
repeat for each line tColorName in the colorNames
put the milliseconds into tStart
set the colorOverlay["color"] of the templateGraphic to tColorName
put the colorOverlay["color"] of the templateGraphic into tColorRGB1
put the milliseconds - tStart & comma after tTime1
put the milliseconds into tStart
set the backgroundColor of the templateGraphic to tColorName
set the backgroundPixel of the templateGraphic to the effective backgroundPixel of the templateGraphic
put the backgroundColor of the templateGraphic into tColorRGB2
put the milliseconds - tStart & comma after tTime2
end repeat
delete char -1 of tTime1
delete char -1 of tTime2
--
answer "colorOverlay[color]" && average(tTime1) & return & \
"backgroundPixel" && average(tTime2)
end mouseUp
##
On my machine, the output was
colorOverlay[color] 0.001812
backgroundPixel 0.005435
Incidentally, this is the method I will include in the next revision of Quartam Color Library.
That is a free/open source library, available under the commercial-friendly LGPL license.
See: <http://www.quartam.com>
Cheers,
Jan Schenkel.
=====
Quartam Reports & PDF Library for LiveCode
www.quartam.com
=====
"As we grow older, we grow both wiser and more foolish at the same time." (La Rochefoucauld)
--------------------------------------------
On Mon, 12/9/13, Richard Gaskin <ambassador at fourthworld.com> wrote:
Subject: Re: How do I find the rgb values for colors defined by their name: e.g. blue, green, yellow etc.
To: use-livecode at lists.runrev.com
Date: Monday, December 9, 2013, 5:21 PM
Peter Haworth wrote:
> Hi Jim,
> Sent this earlier but it didn't make it for some
reason. This is a
> function that some kind person on the list gave me a
while back:
>
> *function* RGBFromColorName theColor
> * if* theColor is not a color *then*
*return* "Error: not a color"
>
> *create* invisible button
>
> *if* the result is not empty *then*
*return* "Error"
>
> *set* the backgroundColor of last button
to theColor
>
> *set* the backgroundPixel of last button
to the backgroundPixel of last
> button
>
> *get* the backgroundColor of last button
>
> *delete* last button
>
> *return* it
>
> *end* RGBFromColorName
For greater robustness and a modest performance boost you
could use the
templateButton rather than creating a new physical button.
--
Richard Gaskin
Fourth World
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
Follow me on Twitter: http://twitter.com/FourthWorldSys
_______________________________________________
use-livecode mailing list
use-livecode at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage
your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list