Page 6 of 28

Re: Plugin: Chameleon

Posted: October 1st, 2015, 10:57 pm
by jsmorley
In truth, it really gets it right more often than wrong I guess. I suppose I'm just hoping that I can have a bit more control based on overall "light" and "dark" values.

Re: Plugin: Chameleon

Posted: October 1st, 2015, 10:59 pm
by Socks the Fox
Thank you! I'll get to working on all this as soon as I get a chance to. I knew from the beginning I'd have to play around with the weights to get it working well with a variety of desktops (which is why I went to a weight-based system, so it'd be easier to edit and dynamically adjust in my test app when I finally get around to enabling that).

Re: Plugin: Chameleon

Posted: October 1st, 2015, 11:14 pm
by eclectic-tech
I have been applying your colors selections as:
Foreground1 = main text color
Background1 = solidcolor for graphics and under most text
Foreground2 = solidcolor2 as gradient with SolidColor (Background1) above
Background2 = Text effect color (shadowed/bordered text)

The results are very good for 80~90% of my various wallpapers. So there may not be much need to tweak them. And the other are view-able, just unexpected color selection.

Here are a few wallpapers for you to play with that gave me "odd" results.
https://dl.dropboxusercontent.com/u/73816385/BingWallpaper-2015-09-07.jpg
https://dl.dropboxusercontent.com/u/73816385/elliedavis3.jpg
https://dl.dropboxusercontent.com/u/73816385/wallpaper-2550187.jpg
https://dl.dropboxusercontent.com/u/73816385/geyser.jpg
https://dl.dropboxusercontent.com/u/73816385/BleachingAnemone_1920x1200.jpg

Re: Plugin: Chameleon

Posted: October 1st, 2015, 11:16 pm
by Socks the Fox
In the early days one of my own experiences with color selection issues was this picture. It really wanted to pick the dark red for both the primary foreground and the secondary background, and the light red for the primary background and secondary foreground. I also had a few variant backgrounds that were literally minor recolors of each other (specifically, these) where for some it picked them perfectly but for others it wanted to do the same as the davesprite pic. It definitely struggles with some of the more simple backgrounds where there's not much choice.

At least with 1.2 it doesn't seem to do that anymore!

Edit: I wonder if some of the color selection issues is because there are too many color bins? Right now it uses some basic math to hash the colors down to 12-bit (4 bits per channel) bins, which still allows for a lot of different shades. Maybe if I reduce it to 3 bits per channel it'll have better results?

Re: Plugin: Chameleon

Posted: October 2nd, 2015, 1:00 pm
by jsmorley
This feels like a difficult thing to ever get "perfect". The issue as I see it is that to any computer program, the image is just pixels. To a human, the image consists of a scene. It has a natural "background" and "foreground", that are based on pattern and object recognition.

The human mind pretty much instantly says "that image is primarily colors www and xxx as background colors, and colors yyy and zzz as foreground colors."

I think it is going to be a challenge for any computer program to try to replicate what the human mind does in less than an instant. I don't see how it can be entirely based on "population", nor on some kind of "averaging".

When I look at this picture:



It "feels" to me to be reds and maybe some flesh tones and greens, on dark'ish purples and blues. That is based on seeing the "wizard girl" as the "focus" of the image, and I'm not sure any program would view the image the way a human does. I'm not even sure two different humans would necessarily see it the same.

Make no mistake, your plugin is just as clever as hell. I'm amazed at how well it does most of the time. My only issue is that to let it "take over" control of colors in my setup, it's hard to live with it coming up with something that is pleasing 75% of the time. To some extent that is just me. I also turn off automatic accent colors in Windows, since it gets it almost entirely wrong, or at least ugly for my sensibilities, about half the time.

Re: Plugin: Chameleon

Posted: October 2nd, 2015, 4:07 pm
by GLing
I just checked out this site http://mkweb.bcgsc.ca/color_summarizer/ which has a pdf here http://mkweb.bcgsc.ca/brewer/talks/color-palettes-brewer.pdf that refers to perception of colors like what jsmorely mentioned above. I also found this javascript site http://lokeshdhakar.com/projects/color-thief/ which does something similar. The first link has useful information without code that I could find, but the second is on github so that might be useful to see how some of it is coded and translate it to the language you are using. One more possibly useful site here http://labs.tineye.com/color/

Re: Plugin: Chameleon

Posted: October 18th, 2015, 10:39 pm
by moshi
just wanted to say thanks. pretty awesome.

edit: updated a few of my clocks:
Image
Image
Image

the idea of one dominant color and then getting palettes might be an idea for the future. maybe as in the "color rules" at https://color.adobe.com/

Re: Plugin: Chameleon

Posted: October 19th, 2015, 5:51 pm
by Socks the Fox
Hey! I just want to say I haven't forgotten about this, I've just been busy working on another project for a friend's website. It may be a little bit before I can get back to this but I won't drop it :3

Re: Plugin: Chameleon

Posted: October 30th, 2015, 12:26 pm
by Seahorse
Not seeing any transparency using LineColor=[MeasureBackground1]FF it's identical to LineColor=[MeasureBackground1]. Replacing FF with say 150, changes the colour, not the Alpha, so am I misunderstanding this modifier?

Re: Plugin: Chameleon

Posted: October 30th, 2015, 2:54 pm
by eclectic-tech
Seahorse wrote:Not seeing any transparency using LineColor=[MeasureBackground1]FF it's identical to LineColor=[MeasureBackground1]. Replacing FF with say 150, changes the colour, not the Alpha, so am I misunderstanding this modifier?
That should work, but isn't your example the same as Rainmeter's default to 'FF' alpha if none is specified?
How about LineColor=[MeasureBackground]8C?

Have you tried forcing the output FORMAT=Hex? For decimal, this must be added to each measure (parent and child) probably the same if using 'Hex'.

Code: Select all

[mDesktop]
Measure=Plugin
Plugin=Chameleon
Type=Desktop
Format=Dec

[mDesktopFG1]
Measure=Plugin
Plugin=Chameleon
Parent=mDesktop
Color=Foreground1
Format=Dec
OnUpdateAction=[!WriteKeyValue Variables TextColor "[#CurrentSection#]" "#@#Options\Variables.inc"]

[mDesktopFG2]
Measure=Plugin
Plugin=Chameleon
Parent=mDesktop
Color=Foreground2
Format=Dec
OnUpdateAction=[!WriteKeyValue Variables TBColor2 "[#CurrentSection#]" "#@#Options\Variables.inc"]

[mDesktopBG1]
Measure=Plugin
Plugin=Chameleon
Parent=mDesktop
Color=Background1
Format=Dec
OnUpdateAction=[!WriteKeyValue Variables TBColor1 "[#CurrentSection#]" "#@#Options\Variables.inc"]
Group=ColorSet

[mDesktopBG2]
Measure=Plugin
Plugin=Chameleon
Parent=mDesktop
Color=Background2
Format=Dec
OnUpdateAction=[!WriteKeyValue Variables TextEffectColor "[#CurrentSection#]" "#@#Options\Variables.inc"]
My RGB skins work fine with [MeasureBackground1],210