2016-11-25 116 views
1

我正在创建一个皮肤(可能是一组皮肤),我打算在某个时候发布皮肤。在我工作时,遇到了旋转图像仪的问题。它的大小对于一个尺度变量是动态的。没有调整大小的旋转

图像在旋转时被调整大小。我相信这是由于图像的对角线不适合仪表的框架。虽然我不确定我能如何解决这个问题。

以下是像测量器的代码:

[icon0] 
Meter=Image 
[email protected]\images\gear.png 
W=(50*#scale#) 
H=(50*#scale#) 
X=(5*#scale#) 
Y=(5*#scale#) 
ImageRotate=90 

当“ImageRotate”的值被改变为90至45的图标按比例缩小。

我试图看看一个创建了我想要的效果的例子,但我无法弄清楚。我还查找了一个论坛,或者在“Rainmeter手册”中找到一些有用的信息。我发现了一些关于ScaleMargin的东西,但它似乎没有我想要的效果。

非常感谢您提供的任何帮助。

回答

0

我想你需要计算自己旋转后最大可能的W/H。如果您希望它围绕原点旋转,可能也会更改X/Y

有一个示例here。它使用Rotator meter

望着那个例子中,你的代码将是这样的:

[icon0] 
Meter=Image 
[email protected]\images\gear.png 
W=(SQRT((50*#scale#) ** 2 + (50*#scale#) ** 2)) 
H=(SQRT((50*#scale#) ** 2 + (50*#scale#) ** 2)) 
X=(5*#scale#) 
Y=(5*#scale#) 
ImageRotate=90 

没有测试过自己,您可能需要为DynamicVariables=1#scale# S,你可能需要计算XY,如果你想围绕图像的中心旋转。不知道你想要什么,但我会留给你。

编辑: 您可能还需要DynamicWindowSize=1[Rainmeter]部分以及。否则,它会在旋转后裁剪图像,如果它不符合皮肤的初始大小。

+0

谢谢你的帮助。虽然这段代码无法正常工作,但却让我发现了一些可以做我想做的事情。 [MeterRotate] 仪表=肩 MeasureName = MeasureRotate ImageName =#@#图像\ gear.png X =([MeterBG:W/2) Y =([MeterBG:H/2) OFFSETX =(#ImageW#/ 2) OffsetY =(#ImageH#/ 2) TransformationMatrix =(1 * #Scaler#); 0; 0;(1 * #Scaler#);((1-#Scaler#)* [#CURRENTSECTION#:X]);((1-#Scaler#)* [#CURRENTSECTION#:Y]) DynamicVariables = 1 –