Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#图纸文本_C#_Asp.net_System.drawing_Font Size - Fatal编程技术网

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)
);