스킨 다운로드
와이파이와 배터리 미터는 노트북 사용자의 주된 관심사이고, 아주 쉽게 만들수 있습니다.
레인미터에서 역동적인 이미지를 만드는 ImageCrop, ImageTint, 그리고 다른 이미지와 관련된 모든 기능은 매우 유용한 기능입니다. 우리는 DynamicVariable, Substitution, 그리고 Conditional Statement와 함께 몇개의 간단한 트릭을 사용하여 배터리 잔량 체크기의 색을 바꾸고 배터리가 적으면 깜박이게 할것입니다.
주의: 우리가 Bar 미터 대신 ImagerCrop을 쓰는 가장 큰 이유는 Bar 미터에서 이미지를 쓰면 이미지의 크기를 변경할수 없기 때문입니다.
우리는 우리가 사용할 이미지를 잡는것부터 시작합니다.
이미지가 회색인 이유는 ImageTint를 사용하여 레인미터에서 색을 바꿀것이기 때문입니다.
우선 기본이 될 우리의 코드를 시작해 봅시다. 여러 변수들은 나중에 사용할것입니다.
[Rainmeter]
Author=Smurfier
Update=1000
[Metadata]
Name=Wifi and Battery Meter
Description=Shows the current status of both the Wifi and Batttery.
Instructions=
Version=
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0
[Variables]
OrigHW는 이미지의 기본 높이/길이입니다. 우리는 100x100px의 이미지를 사용하기 때문에 한가지 변수만 쓸것입니다.
OrigHW=100
Sections는 이미지의 분할의 수를 정합니다.
Sections=4
SectionsW는 각각의 분할된 이미지의 높이를 정합니다. 이 강의의 목적을 위해 이 변수는 공식의 형태를 가집니다.
SectionsW= (#OrigHW#/#Sections#)
HW는 각각의 지시기(indicator)의 크기가 바뀐 높이/길이를 정합니다. 다시한번, 우리는 이미지가 정사각형이기 때문에 딱 하나의 변수만 쓸것입니다.
HW=50
이제 지시기에 쓸 색상을 정합니다.
BatteryBack=0,0,255,100
BatteryIndic=0,0,255,255
Battery50=255,255,0,255
Battery25=225,0,0,255
WifiBack=0,255,0,100
WifiIndic=0,255,0,255
이제 우리는 와이파이 미터가 동작할 기본적인 코드를 작업해봅시다.
먼저 와이파이 상태를 측정합니다.
[msWifi]
Measure= Plugin
Plugin= PluginsWiFiStatus.dll
WiFiInfoType=Quality
이제 흥미로운 부분입니다. 우리는 지시기의 폭을 정합니다.
[cWifi]
Measure=Calc
Formula=ROUND(msWifi/(100/#Sections#))*#SectionsW#
주의: 만일 당신이 ImageCrop대신 Bar미터를 사용하려 한다면, 다음 공식을 사용하세요: (CurrentValue/MaxValue)*OriginalDimension
이제 우리는 배경 이미지를 정할겁니다.
[mBack]
Meter=Image
ImageName=Back.png
ImageTint=#WifiBack#
AntiAlias=1
우리가 미리 만들어놓은 길이와 높이를 적용하는것을 잊지 마세요.
H=#HW#
W=#HW#
와이파이 미터를 한칸 오른쪽으로 욺직이고, 조금 아래 배터리 지시기를 위한 공간을 만듭니다.
X= (#HW#*0.25)
Y= (#HW#*0.05)
이제 실질적인 와이파이 지시기를 만듭니다.
[mStat]
Meter=Image
ImageName=Back.png
ImageTint=#WifiIndic#
AntiAlias=1
X=r
Y=r
DynamicVariables=1
이부분에서 이미지는 여전히 본래의 크기를 가집니다.
ImageCrop=0,0,[cWifi],#OrigHW#
이것이 의미하는것 : 시작은 위, 왼쪽을 기준으로 하고 [cWifi] 만큼 옆으로 #OrigHW# 만큼 위로 박스에 맞춰 자릅니다.
이제 미리 위에서 정한 대로 길이와 너비를 맞춰봅시다.
H=#HW#
우리는 이제 잘라낸 이미지를 새로운 너비에 맞춰 크기를 조절할것입니다. 잘라낸 이미지의 너비로, 원래의 이미지의 비율이나 퍼센트로 분할해서 새로운 너비로 곱할겁니다.
W= (#HW#*([cWifi]/#OrigHW#))
이것입니다. 우리는 이제 동작하는 와이파이 미터를 만들었습니다. 이제 배터리 미터를 만들어봅시다.
배터리를 측정하는것도 와이파이와 비슷합니다.
[msPower]
Measure= Plugin
Plugin= Plugins\PowerPlugin.dll
PowerState= Percent
이전과 비슷합니다.
[cPower]
Measure=Calc
Formula=ROUND(msPower/(100/#Sections#))*#SectionsW#
또다른 배경이미지
[mBack2]
Meter=Image
ImageName=Back.png
ImageTint=#BatteryBack#
H=#HW#
W=#HW#
AntiAlias=1
우리는 같은 이미지를 뒤집어서 쓸겁니다.
ImageFlip=Both
이제 배터리 지시기의 색을 퍼센트로 바꾸는 부분입니다.
[BatteryColor]
Measure=Calc
Formula=msPower>=50?-1: (msPower<25?-3:-2)
이제 우리는 substitute를 써서 이 값들의 색을 바꿀겁니다. 컬로 코드에 존재하지 않는 음수를 사용할겁니다.
Substitute="-1":"#BatteryIndic#","-2":"#Battery50#","-3":"#Battery25#"
전원이 25%보다 작으면 지시기가 번쩍이게 만들겁니다.
[BatteryBlink]
Measure=Calc
Conditional statements는 1 (true)과 0 (false)을 씁니다.
Formula= (msPower<25)*(1-BatteryBlink)
이제 앞에 측정한 것으로 배터리 지시기를 만듭시다.
[mStat2]
Meter=Image
ImageName=Back.png
ImageTint=[BatteryColor]
ImageFlip=Both
AntiAlias=1
DynamicVariables=1
앞에것과 다르지 않습니다.
ImageCrop=0,0,[cPower],#OrigHW#
W= (#HW#*([cPower]/#OrigHW#))
H=#HW#
우리가 앞에서 만든 뒤집어 놓은 이미지를 움직여서, 올바른 위치로 자르고 키워야 합니다.
크기가 조절된 잘린 이미지의 너비를 전체 이미지와 비교한 비율로 나눕니다. What we need is the ratio of what we're not using so we take 1 and
subtract that ratio we just calculated and multiply that by the new
width.
X= (#HW#*(1-[cPower]/#OrigHW#))
Y=r
지시기를 깜박이게 하기 위해 만든 measure를 사용합니다.
Hidden=[BatteryBlink]