It is currently June 23rd, 2024, 1:29 am

Plugin: Chameleon

Plugins and Addons popular with the Community
User avatar
jsmorley
Developer
Posts: 22640
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Plugin: Chameleon

Post 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.
User avatar
Socks the Fox
Posts: 104
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Post 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).
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5438
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Plugin: Chameleon

Post 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
User avatar
Socks the Fox
Posts: 104
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Post 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?
You do not have the required permissions to view the files attached to this post.
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3
User avatar
jsmorley
Developer
Posts: 22640
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Plugin: Chameleon

Post 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.
GLing
Posts: 23
Joined: July 1st, 2015, 5:05 pm

Re: Plugin: Chameleon

Post 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/
User avatar
moshi
Posts: 1740
Joined: November 13th, 2012, 9:53 pm

Re: Plugin: Chameleon

Post 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/
Last edited by moshi on October 25th, 2015, 10:27 pm, edited 1 time in total.
User avatar
Socks the Fox
Posts: 104
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Post 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
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3
User avatar
Seahorse
Posts: 1175
Joined: June 9th, 2010, 5:56 pm
Location: Locks heath, UK

Re: Plugin: Chameleon

Post 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?
"Regrettably your planet is one of those scheduled for demolition"
Mike

My Skins at DeviantArt

User avatar
eclectic-tech
Rainmeter Sage
Posts: 5438
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Plugin: Chameleon

Post 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