0

我正在将文本转换为图像。有些文本的长度比其他文本长。
如何确保没有任何文本被截断?

下面的代码将我的位图限制为 250、30。

System.Drawing.Bitmap imgIn = new System.Drawing.Bitmap(250, 30);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(imgIn);
g.Clear(System.Drawing.Color.White);
    System.Drawing.Font font = new System.Drawing.Font("Arial", 10, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);

我在关注这个例子:如何将电子邮件地址或其他文本形式的文本框转换为图像

更新

我发现这篇文章有助于完成我的任务:Generate Image from text using C# OR Convert Text in to Image using C#

在我能够根据文本长度调整图像大小后,我发现我需要在文本中引入换行符,否则当文本是几句话时,图像会一直到 Timbuktu。
如何在长文本中引入换行符?

4

2 回答 2

1

您可以使用TextRenderer.MeasureText以获取文本的像素大小。

Size size = TextRenderer.MeasureText("text", Font("Arial",10));
System.Drawing.Bitmap imgIn = new System.Drawing.Bitmap(size.Width, size.Height);

编辑

我发现这篇文章是关于如何编写一个 HTTP 处理程序来做你想做的事情,它甚至可以包装文本以适应。

于 2009-12-04T03:55:32.380 回答
0

试试这个:http: //msdn.microsoft.com/en-us/library/system.drawing.graphics.measurestring.aspx在 System.Drawing.Graphics 上。

于 2009-12-04T04:44:30.520 回答