C#图纸文本
这很好,除了我以像素为单位存储字体大小(C#图纸文本,c#,asp.net,system.drawing,font-size,C#,Asp.net,System.drawing,Font Size,这很好,除了我以像素为单位存储字体大小(thistTemplabel.fontSize)。我一辈子都不知道如何转换它们(可能不可能),或者如何解决这个问题 它们看起来有点正确,但位置有点不对,而且有点太大了 精度非常重要。我认为您遇到的问题可能是,客户希望尺寸以点为单位: gfx.DrawString( thisTempLabel.LabelText, new Font("Arial", (float)thisTempLabel.fontSize), Brushes.Bl
thistTemplabel.fontSize
)。我一辈子都不知道如何转换它们(可能不可能),或者如何解决这个问题
它们看起来有点正确,但位置有点不对,而且有点太大了
精度非常重要。我认为您遇到的问题可能是,客户希望尺寸以点为单位:
gfx.DrawString(
thisTempLabel.LabelText,
new Font("Arial", (float)thisTempLabel.fontSize),
Brushes.Black,
new PointF(thisTempLabel.x, thisTempLabel.y)
);
emSize
类型:系统。单个
新字体的em大小(以点为单位) 看起来您可以使用
GraphicsUnit
参数,您可以将其设置为GraphicsUnit.Pixel
:
public Font(FontFamily family, float emSize)
请注意,您正在设置em大小,这大致是“M”字符的高度。谢谢!我将如何修改我的代码以使用它?我发现msdn文档令人困惑:S
gfx.DrawString(
thisTempLabel.LabelText,
new Font("Arial", (float)thisTempLabel.fontSize, GraphicsUnit.Pixel),
Brushes.Black,
new PointF(thisTempLabel.x, thisTempLabel.y)
);