gpt4 book ai didi

c# - 如何实现自动调整大小

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:51:11 25 4
gpt4 key购买 nike

我正在尝试找出一种自动调整内部绘制有文本的 Rectangle 大小的好方法。我基本上希望尺寸具有宽度/高度的比例,然后根据该比例“增长”以适合文本。我查看了 Graphics.MeasureString,但我不认为它符合我的要求(也许它符合我的要求,但我只是用错了)。

我不想指定要绘制的矩形的特定宽度。相反,我想说的是在给定最小宽度的情况下找到适合此文本的最小宽度/高度,但找到的矩形必须具有特定的宽度和高度比例。

这不必特定于 C#,我确信任何解决此问题的想法都可以映射到 C#。

谢谢!

最佳答案

我相信你可以使用 Graphics.MeasureString .这就是我在我的 GUI 代码中用来在文本周围绘制矩形的方法。您将文本和您想要使用的字体交给它,它返回给您一个矩形(技术上是一个 SizeF 对象 - 宽度和高度)。然后你可以按照你想要的比例调整这个矩形:

Graphics g = CreateGraphics();
String s = "Hello, World!";
SizeF sizeF = g.MeasureString(s, new Font("Arial", 8));

// Now I have a rectangle to adjust.
float myRatio = 2F;
SizeF adjustedSizeF = new SizeF(sizeF.Width * myRatio, sizeF.Height * myRatio);
RectangleF rectangle = new RectangleF(new PointF(0, 0), adjustedSizeF);

我是否正确理解了您的问题?

关于c# - 如何实现自动调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com