0

我知道Inflate按像素计算矩形,如何按百分比计算?

例如: rect.Inflate(45%,105%)整数值应作为百分比值而不是像素值传递

如何??

4

2 回答 2

1

一种选择是使用该SizeF结构允许您按百分比值计算宽度和高度值,如下所示:

SizeF theSize = new SizeF(rect.Width * .45, rect.Height * 1.05);

SizeF保存浮点值,但不幸的是没有Inflate()接受 aSizeF的重载,但它确实有接受Size结构的重载。所以我们需要将 a 转换SizeF为 a Size,如下所示:

// Round the Size
Size roundedSize = Size.Round(theSize);

// Truncate the Size
Size truncatedSize = Size.Truncate(theSize);

最后,我们可以使用我们的转换Size(舍入或截断),如下所示:

rect.Inflate(roundedSize);

或者

rect.Inflate(truncatedSize);
于 2013-10-26T14:58:53.180 回答
0

没有功能可以做到这一点。您将需要根据百分比计算像素并改用这些像素。

于 2013-10-26T14:45:50.230 回答