我知道Inflate
按像素计算矩形,如何按百分比计算?
例如: rect.Inflate(45%,105%)
整数值应作为百分比值而不是像素值传递
如何??
一种选择是使用该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);
没有功能可以做到这一点。您将需要根据百分比计算像素并改用这些像素。