Completely agree with eclectic-tech, I just would add something: besides creating the MyComplimentarySkins group, you also will want to write the complementary color, into the Variables.inc file. Easiest way to do this is to add an OnChangeAction option to [MeasureComplementaryColor] measure and add the appropriate !WriteKeyValue bang into this option.
Code: Select all
[Rainmeter]
Update=1000
[Variables]
@include=#@#Variables.inc
[MeterShape]
Meter=Shape
x=0
y=0
Shape=Rectangle 0,0,300,400 | Fill Color #ImageTint#,50 | Stroke Color #FontColor#
DynamicVariables=1
[MeterLine]
Meter=Image
SolidColor=#FontColor#
x=0
y=200
w=300
h=1
DynamicVariables=1
[MeterFontText]
Meter=String
StringAlign=Center
StringCase=Upper
FontFace=
FontColor=[MeasureComplementaryColor]
FontSize=15
X=150
Y=15
Text=Font Colors
AntiAlias=1
DynamicVariables=1
Group=Strings
[MeterImageText]
Meter=String
StringAlign=Center
StringCase=Upper
FontFace=Calibri
FontColor=[MeasureComplementaryColor]
FontSize=15
X=150
Y=215
Text=Image Colors
AntiAlias=1
DynamicVariables=1
Group=Strings
[MeasureRed]
Measure=String
String=#ImageTint#
RegExpSubstitute=1
Substitute="^(\d{1,3}),(\d{1,3}),(\d{1,3})$":"\1"
DynamicVariables=1
Group=Colors
[MeasureGreen]
Measure=String
String=#ImageTint#
RegExpSubstitute=1
Substitute="^(\d{1,3}),(\d{1,3}),(\d{1,3})$":"\2"
DynamicVariables=1
Group=Colors
[MeasureBlue]
Measure=String
String=#ImageTint#
RegExpSubstitute=1
Substitute="^(\d{1,3}),(\d{1,3}),(\d{1,3})$":"\3"
DynamicVariables=1
Group=Colors
[MeasureComplementaryRed]
Measure=Calc
Formula=(( Max ( [MeasureRed], Max ( [MeasureGreen], [MeasureBlue] ))) + ( Min ( [MeasureRed], Min ( [MeasureGreen], [MeasureBlue] ))) - [MeasureRed] )
DynamicVariables=1
;Disabled=1
Group=Components
[MeasureComplementaryGreen]
Measure=Calc
Formula=(( Max ( [MeasureRed], Max ( [MeasureGreen], [MeasureBlue] ))) + ( Min ( [MeasureRed], Min ( [MeasureGreen], [MeasureBlue] ))) - [MeasureGreen] )
DynamicVariables=1
;Disabled=1
Group=Components
[MeasureComplementaryBlue]
Measure=Calc
Formula=(( Max ( [MeasureRed], Max ( [MeasureGreen], [MeasureBlue] ))) + ( Min ( [MeasureRed], Min ( [MeasureGreen], [MeasureBlue] ))) - [MeasureBlue] )
DynamicVariables=1
;Disabled=1
Group=Components
[MeasureComplementaryColor]
Measure=String
String=[MeasureComplementaryRed],[MeasureComplementaryGreen],[MeasureComplementaryBlue]
DynamicVariables=1
OnChangeAction=[!WriteKeyValue Variables FontColor "[MeasureComplementaryColor]" "#@#Variables.inc"]
Group=Components
[MeterColorWhite]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=50
Y=60
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "255,255,255" "#@#Variables.inc"][!SetVariable FontColor "255,255,255"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,255,255
ToolTipText=White
[MeterColorBlack]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "0,0,0" "#@#Variables.inc"][!SetVariable FontColor "0,0,0"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,0,0
ToolTipText=Black
[MeterColorRed]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "255,0,0" "#@#Variables.inc"][!SetVariable FontColor "255,0,0"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,0,0
ToolTipText=Red
[MeterColorGreen]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "0,128,0" "#@#Variables.inc"][!SetVariable FontColor "0,128,0"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,128,0
ToolTipText=Green
[MeterColorBlue]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "0,0,255" "#@#Variables.inc"][!SetVariable FontColor "0,0,255"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,0,255
ToolTipText=Blue
[MeterColorCyan]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "0,255,255" "#@#Variables.inc"][!SetVariable FontColor "0,255,255"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,255,255
ToolTipText=Cyan
[MeterColorMagenta]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=50
Y=40r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "255,0,255" "#@#Variables.inc"][!SetVariable FontColor "255,0,255"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,0,255
ToolTipText=Magenta
[MeterColorYellow]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "255,255,0" "#@#Variables.inc"][!SetVariable FontColor "255,255,0"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,255,0
ToolTipText=Yellow
[MeterColorLime]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "0,255,0" "#@#Variables.inc"][!SetVariable FontColor "0,255,0"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,255,0
ToolTipText=Lime
[MeterColorOrange]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "255,165,0" "#@#Variables.inc"][!SetVariable FontColor "255,165,0"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,165,0
ToolTipText=Orange
[MeterColorPurple]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "128,0,128" "#@#Variables.inc"][!SetVariable FontColor "128,0,128"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=128,0,128
ToolTipText=Purple
[MeterColorBrown]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables FontColor "165,42,42" "#@#Variables.inc"][!SetVariable FontColor "165,42,42"][!SetOptionGroup Colors String "#*FontColor*#"][!SetOptionGroup Strings FontColor "#*FontColor*#"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=165,42,42
ToolTipText=Brown
[MeterImageColorWhite]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=50
Y=260
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "255,255,255" "#@#Variables.inc"][!SetVariable ImageTint "255,255,255"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,255,255
ToolTipText=White
[MeterImageColorBlack]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "0,0,0" "#@#Variables.inc"][!SetVariable ImageTint "0,0,0"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,0,0
ToolTipText=Black
[MeterImageColorRed]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "255,0,0" "#@#Variables.inc"][!SetVariable ImageTint "255,0,0"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,0,0
ToolTipText=Red
[MeterImageColorGreen]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "0,128,0" "#@#Variables.inc"][!SetVariable ImageTint "0,128,0"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,128,0
ToolTipText=Green
[MeterImageColorBlue]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "0,0,255" "#@#Variables.inc"][!SetVariable ImageTint "0,0,255"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,0,255
ToolTipText=Blue
[MeterImageColorCyan]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "0,255,255" "#@#Variables.inc"][!SetVariable ImageTint "0,255,255"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,255,255
ToolTipText=Cyan
[MeterImageColorMagenta]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=50
Y=40r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "255,0,255" "#@#Variables.inc"][!SetVariable ImageTint "255,0,255"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,0,255
ToolTipText=Magenta
[MeterImageColorYellow]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "255,255,0" "#@#Variables.inc"][!SetVariable ImageTint "255,255,0"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,255,0
ToolTipText=Yellow
[MeterImageColorLime]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "0,255,0" "#@#Variables.inc"][!SetVariable ImageTint "0,255,0"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=0,255,0
ToolTipText=Lime
[MeterImageColorOrange]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "255,165,0" "#@#Variables.inc"][!SetVariable ImageTint "255,165,0"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=255,165,0
ToolTipText=Orange
[MeterImageColorPurple]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "128,0,128" "#@#Variables.inc"][!SetVariable ImageTint "128,0,128"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=128,0,128
ToolTipText=Purple
[MeterImageColorBrown]
Meter=IMAGE
ImageName=#@#ColorBox.png
X=35r
Y=r
W=30
LeftMouseUpAction=[!WriteKeyValue Variables ImageTint "165,42,42" "#@#Variables.inc"][!SetVariable ImageTint "165,42,42"][!SetOptionGroup Colors String "#*ImageTint*#"][!SetOptionGroup Strings FontColor "[*MeasureComplementaryColor*]"][!EnableMeasureGroup "Components"][!UpdateMeasureGroup "Colors"][!UpdateMeasureGroup "Components"][!UpdateMeter "MeterShape"][!UpdateMeter "MeterLine"][!UpdateMeter "MeterFontText"][!Updatemeter "MeterImageText"][!RefreshGroup "MyComplimentarySkins"][!Redraw]
ImageTint=165,42,42
ToolTipText=Brown
option to the [Rainmeter] section of all skins which are using the Variables.inc file (as described by eclectic-tech above).
And one more: the quotations are not needed (well, in fact are useless) into any option. That's why I've removed them from the ToolTipText options. Details: