按百分比膨胀矩形

时间:2013-10-26 14:39:32

标签: c# system.drawing

我知道Inflate像素矩形,百分比怎么样?

Ex:rect.Inflate(45%,105%)整数值应作为百分比值而非像素值

传递

如何??

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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

rect.Inflate(roundedSize);

OR

rect.Inflate(truncatedSize);

答案 1 :(得分:0)

没有这样做的功能。您需要根据百分比计算像素并使用它们。