SilverAzide wrote: ↑June 3rd, 2019, 3:52 pm
Hey guys... If you are interested, I scraped all 47 weather icons off the Weather Underground site a while back, in SVG format. Since WU is now owned by the Weather Channel, the icons match the TWC icon numbers in their XML feed. The style is similar to what the Modern Gadgets Weather Meter is using now.
If they are of interest to you or eclectic-tech, maybe these could be converted to shapes as well. Then Modern Gadgets will have no images at all.
EDIT: I take it back, the icon numbers are not a perfect match between TWC and WU. 44-47 seem flipped, so the numbers might need to be tweaked.
These are great! I actually had already considered converting the weather icons to shape meters, but there is a problem. In order to have multiple colors in a shape, you cannot combine those shapes, since combining a shape will inherit all attribute modifiers from the parent shape.
If you are only using one color, it works fine:
Code: Select all
[Rainmeter]
MiddleMouseUpAction=[!Refresh]
AccurateText=1
[StyleIcon]
Shape=Path Path1 | StrokeWidth 0 | Extend Fill
Shape2=Path Path2 | StrokeWidth 0
Shape3=Path Path3 | StrokeWidth 0
Shape4=Path Path4 | StrokeWidth 0
Shape5=Path Path5 | StrokeWidth 0
Shape6=Path Path6 | StrokeWidth 0
Shape7=Combine Shape1 | XOR Shape2 | XOR Shape3 | XOR Shape4 | XOR Shape5 | XOR Shape6
Path1=350.5, 225.5 | CurveTo 272, 160, 343.6, 188.3, 311.2, 160 | CurveTo 237.7, 168, 259.7, 160, 248.1, 163 | CurveTo 160, 128, 220.3, 143.9, 192.1, 128 | CurveTo 64, 224, 107, 128, 64, 171 | CurveTo 64.2, 225.6, 64, 224.5, 64.2, 225.1 | CurveTo 0, 304, 27.6, 232.9, 0, 265.2 | CurveTo 80, 384, 0, 348.2, 35.8, 384 | LineTo 336, 384 | CurveTo 416, 304, 380.2, 384, 416, 348.2 | CurveTo 350.5, 225.5, 416, 264.8, 387.8, 232.3 | ClosePath 1
Path2=567.9, 223.8 | CurveTo 432.9, 113, 497.5, 237.1, 432.9, 183.5 | CurveTo 490.4, 14.9, 432.9, 72.4, 454.8, 35 | CurveTo 488.3, 2.4, 495.9, 11.8, 494.5, 3.5 | CurveTo 461.8, 0, 479.6, 0.8, 470.7, 0 | CurveTo 317.4, 137.9, 383.9, 0, 320.7, 61.2 | CurveTo 376.3, 199.6, 344.1, 149.8, 365.6, 171.7 | CurveTo 446.5, 286.4, 413.4, 213.9, 440.3, 247 | CurveTo 461.7, 287.9, 451.6, 286.9, 456.5, 287.9 | CurveTo 574.3, 234.6, 506.4, 287.9, 547.3, 267.7 | CurveTo 567.9, 223.8, 578.5, 229.8, 574.1, 222.6 | ClosePath 1
Path3=364.5, 418.1 | CurveTo 342.7, 424.1, 356.9, 413.8, 347.1, 416.3 | LineTo 306.1, 488.1 | CurveTo 312.1, 509.9, 301.7, 495.8, 304.4, 505.5 | CurveTo 320, 512, 314.6, 511.3, 317.3, 512 | CurveTo 333.9, 503.9, 325.5, 512, 330.9, 509.1 | LineTo 370.5, 439.9 | CurveTo 364.5, 418.1, 374.8, 432.2, 372.2, 422.5 | ClosePath 1
Path4=268.5, 418.1 | CurveTo 246.7, 424.1, 260.9, 413.8, 251.1, 416.3 | LineTo 210.1, 488.1 | CurveTo 216.1, 509.9, 205.7, 495.8, 208.4, 505.5 | CurveTo 224, 512, 218.6, 511.3, 221.3, 512 | CurveTo 237.9, 503.9, 229.5, 512, 234.9, 509.1 | LineTo 274.5, 439.9 | CurveTo 268.5, 418.1, 278.8, 432.2, 276.2, 422.5 | ClosePath 1
Path5=172.5, 418.1 | CurveTo 150.7, 424.1, 164.9, 413.8, 155.1, 416.3 | LineTo 114.1, 488.1 | CurveTo 120.1, 509.9, 109.7, 495.8, 112.4, 505.5 | CurveTo 128, 512, 122.6, 511.3, 125.3, 512 | CurveTo 141.9, 503.9, 133.5, 512, 138.9, 509.1 | LineTo 178.5, 439.9 | CurveTo 172.5, 418.1, 182.8, 432.2, 180.2, 422.5 | ClosePath 1
Path6=76.5, 418.1 | CurveTo 54.7, 424.1, 68.9, 413.8, 59.1, 416.3 | LineTo 18.1, 488.1 | CurveTo 24.1, 509.9, 13.7, 495.8, 16.4, 505.5 | CurveTo 32, 512, 26.6, 511.3, 29.3, 512 | CurveTo 45.9, 503.9, 37.5, 512, 42.9, 509.1 | LineTo 82.5, 439.9 | CurveTo 76.5, 418.1, 86.8, 432.2, 84.2, 422.5 | ClosePath 1
[MeterBackground]
Meter=Shape
Shape=Rectangle 3,3,825,600,3 | Stroke Color 58,84,110 | Fill Color 24,32,43 | StrokeWidth 3
[MeterIcon-1x]
Meter=Shape
MeterStyle=StyleIcon
Fill=Fill Color 255,100,100
X=30
Y=30
[MeterIcon-0.25x]
Meter=Shape
MeterStyle=StyleIcon
Fill=Fill Color 100,255,100
Shape7=Combine Shape1 | XOR Shape2 | XOR Shape3 | XOR Shape4 | XOR Shape5 | XOR Shape6 | Scale 0.25,0.25,0,0
X=30R
Y=r
However, with multiple colors, you can't use the combined shape. Therefore, when you change the scale, this happens:
Code: Select all
[Rainmeter]
MiddleMouseUpAction=[!Refresh]
AccurateText=1
[StyleIcon]
Shape=Path Path1 | StrokeWidth 0 | Fill Color 240,240,240 | Extend Scale
Shape2=Path Path2 | StrokeWidth 0 | Fill Color 200,220,250 | Extend Scale
Shape3=Path Path3 | StrokeWidth 0 | Fill Color 70,210,255 | Extend Scale
Shape4=Path Path4 | StrokeWidth 0 | Fill Color 70,210,255 | Extend Scale
Shape5=Path Path5 | StrokeWidth 0 | Fill Color 70,210,255 | Extend Scale
Shape6=Path Path6 | StrokeWidth 0 | Fill Color 70,210,255 | Extend Scale
Path1=350.5, 225.5 | CurveTo 272, 160, 343.6, 188.3, 311.2, 160 | CurveTo 237.7, 168, 259.7, 160, 248.1, 163 | CurveTo 160, 128, 220.3, 143.9, 192.1, 128 | CurveTo 64, 224, 107, 128, 64, 171 | CurveTo 64.2, 225.6, 64, 224.5, 64.2, 225.1 | CurveTo 0, 304, 27.6, 232.9, 0, 265.2 | CurveTo 80, 384, 0, 348.2, 35.8, 384 | LineTo 336, 384 | CurveTo 416, 304, 380.2, 384, 416, 348.2 | CurveTo 350.5, 225.5, 416, 264.8, 387.8, 232.3 | ClosePath 1
Path2=567.9, 223.8 | CurveTo 432.9, 113, 497.5, 237.1, 432.9, 183.5 | CurveTo 490.4, 14.9, 432.9, 72.4, 454.8, 35 | CurveTo 488.3, 2.4, 495.9, 11.8, 494.5, 3.5 | CurveTo 461.8, 0, 479.6, 0.8, 470.7, 0 | CurveTo 317.4, 137.9, 383.9, 0, 320.7, 61.2 | CurveTo 376.3, 199.6, 344.1, 149.8, 365.6, 171.7 | CurveTo 446.5, 286.4, 413.4, 213.9, 440.3, 247 | CurveTo 461.7, 287.9, 451.6, 286.9, 456.5, 287.9 | CurveTo 574.3, 234.6, 506.4, 287.9, 547.3, 267.7 | CurveTo 567.9, 223.8, 578.5, 229.8, 574.1, 222.6 | ClosePath 1
Path3=364.5, 418.1 | CurveTo 342.7, 424.1, 356.9, 413.8, 347.1, 416.3 | LineTo 306.1, 488.1 | CurveTo 312.1, 509.9, 301.7, 495.8, 304.4, 505.5 | CurveTo 320, 512, 314.6, 511.3, 317.3, 512 | CurveTo 333.9, 503.9, 325.5, 512, 330.9, 509.1 | LineTo 370.5, 439.9 | CurveTo 364.5, 418.1, 374.8, 432.2, 372.2, 422.5 | ClosePath 1
Path4=268.5, 418.1 | CurveTo 246.7, 424.1, 260.9, 413.8, 251.1, 416.3 | LineTo 210.1, 488.1 | CurveTo 216.1, 509.9, 205.7, 495.8, 208.4, 505.5 | CurveTo 224, 512, 218.6, 511.3, 221.3, 512 | CurveTo 237.9, 503.9, 229.5, 512, 234.9, 509.1 | LineTo 274.5, 439.9 | CurveTo 268.5, 418.1, 278.8, 432.2, 276.2, 422.5 | ClosePath 1
Path5=172.5, 418.1 | CurveTo 150.7, 424.1, 164.9, 413.8, 155.1, 416.3 | LineTo 114.1, 488.1 | CurveTo 120.1, 509.9, 109.7, 495.8, 112.4, 505.5 | CurveTo 128, 512, 122.6, 511.3, 125.3, 512 | CurveTo 141.9, 503.9, 133.5, 512, 138.9, 509.1 | LineTo 178.5, 439.9 | CurveTo 172.5, 418.1, 182.8, 432.2, 180.2, 422.5 | ClosePath 1
Path6=76.5, 418.1 | CurveTo 54.7, 424.1, 68.9, 413.8, 59.1, 416.3 | LineTo 18.1, 488.1 | CurveTo 24.1, 509.9, 13.7, 495.8, 16.4, 505.5 | CurveTo 32, 512, 26.6, 511.3, 29.3, 512 | CurveTo 45.9, 503.9, 37.5, 512, 42.9, 509.1 | LineTo 82.5, 439.9 | CurveTo 76.5, 418.1, 86.8, 432.2, 84.2, 422.5 | ClosePath 1
[MeterBackground]
Meter=Shape
Shape=Rectangle 3,3,1100,600,3 | Stroke Color 58,84,110 | Fill Color 24,32,43 | StrokeWidth 3
[MeterIcon-1x]
Meter=Shape
MeterStyle=StyleIcon
Scale=Scale 1,1,0,0
X=30
Y=30
[MeterIcon-0.25x]
Meter=Shape
MeterStyle=StyleIcon
Scale=Scale 0.25,0.25,0,0
X=30R
Y=r
You could use TransformationMatrix to scale it instead, but I am already using that for my generalized skin scaling, so that doesn't work. The only other way to fix this is to manually find the top-left pixel of every shape, and set the anchor points for the scaling manually. This is very time-consuming and difficult to do.
This is why I suggested adding the ability to
group shapes together without "combining" them. The idea is that it would behave like a combined shape in terms of being able to apply transform modifiers to the group as a whole, but would allow each shape in the group to have separate attribute modifiers. However, this has garnered absolutely no response from the developers...
As an aside, you might also have noticed that I had to redefine the combine shape when changing the scale in the first example. This is because, for some arbitrary reason,
the "extend" modifier is not allowed to be used on a combine shape. This greatly inhibits the ability to easily scale a combine shape in a way that is easily able to be used with MeterStyles.
Anyway, all of this exposition was to say that having easily scaled multicolored icons is dang near impossible to pull off without tons of manual labor (or using TransformationMatrix, which as I said before, doesn't work for me).