我使用DrawString在C#中将一个字符串绘制成一个更大的图形:
g.DrawString("Re", new Font("PT Sans Narrow", 35, FontStyle.Bold), Brushes.Black, new Point(5, 0));
现在我想在小型大写字母中绘制文本,因为在许多文字处理器或图形工具中都可以使用...而且我并不是指伪造的小型大写字母,例如"画出比休息更大的第一个字母& #34 ;. 这可能在C#/ .NET中吗?
答案 0 :(得分:1)
为什么不渲染大写字符串? 如果你需要完全适合echa的字符串,你可以测量渲染字符串的大小,如下所示:
string s1 = "Simple text";
string s2 = "Capitalized text";
Font font1 = new Font("PT Sans Narrow", 35, FontStyle.Bold);
Font font2 = new Font("PT Sans Narrow", 25, FontStyle.Bold);
SizeF size1 = g.MeasureString(s1, font1);
SizeF size2 = g.MeasureString(s2, font2);
Point point1 = new Point(5, 0);
Point point2 = new Point(point1.X + size1.Width, point1.Y + size1.Height - size2.Height);
g.DrawString(s1, font1, Brushes.Black, point1);
g.DrawString(s2.ToUpper(), font2, Brushes.Black, point2);
font1.Dispose();
font2.Dispose();
答案 1 :(得分:0)
如下:
string output = "Re";
g.DrawString(output.ToLower(), new Font("PT Sans Narrow", 35, FontStyle.Bold), Brushes.Black, new Point(5, 0));