[英]Text getting clipped when drawing using graphics.DrawString method
我正在使用graphics.MeasureString方法来测量文本大小。 然后根据测得的文本大小,使用graphics.MeasureString绘制字符串。 但是我当时使用StringFormat来测量和绘制字符串。 但是我在诸如“ left”之类的文本中发现了文本剪切问题。
请在下面找到代码片段,
string text = "Left";
Font font = new System.Drawing.Font("Segoe UI Semibold", 9F);
StringFormat format = new StringFormat(StringFormatFlags.NoWrap);
SizeF size = e.Graphics.MeasureString(text, font, 100, format);
e.Graphics.DrawString(text, font, new SolidBrush(Color.Black), new RectangleF(10, 10, size.Width, size.Height), format);
请在下面的屏幕截图中进行绘制时找到文本剪辑,
您能否提出解决此问题的建议?
尝试以下方法。 我已经从代码中删除了StringFormat
。 有用。
string text = "Left";
Font font = new Font("Segoe UI Semibold", 9F);
//StringFormat format = new StringFormat(StringFormatFlags.NoWrap);
SizeF size = e.Graphics.MeasureString(text, font, 100);
e.Graphics.DrawString(text, font, new SolidBrush(Color.Black), new RectangleF(10, 10, size.Width, size.Height));
编辑1
我已经根据OP的使用StringFormat
枚举的请求修改了答案。
string text = "Left";
Font font = new Font("Segoe UI Semibold", 9F);
StringFormat format = new StringFormat(StringFormatFlags.NoWrap);
SizeF size = e.Graphics.MeasureString(text, font, 100, format);
e.Graphics.DrawString(text, font, new SolidBrush(Color.Black), new RectangleF(10, 10, size.Width + 5, size.Height), format);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.