按百分比膨胀矩形

本文关键字:膨胀 百分比 | 更新日期: 2023-09-27 18:37:01

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

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

如何??

按百分比膨胀矩形

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

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

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

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

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

rect.Inflate(roundedSize);

rect.Inflate(truncatedSize);

没有函数可以执行此操作。您需要根据百分比计算像素并改用它们。