Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
.net TextRenderer.MeasureText返回宽度=0表示字符“0”&&引用;_.net_Vb.net_Gdi+_Textrenderer - Fatal编程技术网

.net TextRenderer.MeasureText返回宽度=0表示字符“0”&&引用;

.net TextRenderer.MeasureText返回宽度=0表示字符“0”&&引用;,.net,vb.net,gdi+,textrenderer,.net,Vb.net,Gdi+,Textrenderer,一切都在标题中。我尝试创建我自己的OpenGL字体系统,我需要得到我想要包含在Sprite纹理中的每个字符的大小。 除字符“&”(ascii 38)外,所有字符都工作良好且准确。即使我更改字体,这个字符的宽度也总是返回零。身高好 最奇怪的是,如果我尝试测量“&&”(Chr(38)&Chr(38))的串联,结果似乎很好! 我没有检查相同字体产品的另一个范围中的相同代码点是否存在相同的错误,因此我不知道解决方法“if char为”38“测试“38+38”上的大小是否始终有效 编辑: 对不起,我太笨了

一切都在标题中。我尝试创建我自己的OpenGL字体系统,我需要得到我想要包含在Sprite纹理中的每个字符的大小。 除字符“&”(ascii 38)外,所有字符都工作良好且准确。即使我更改字体,这个字符的宽度也总是返回零。身高好

最奇怪的是,如果我尝试测量“&&”(Chr(38)&Chr(38))的串联,结果似乎很好! 我没有检查相同字体产品的另一个范围中的相同代码点是否存在相同的错误,因此我不知道解决方法“if char为”38“测试“38+38”上的大小是否始终有效

编辑: 对不起,我太笨了。我完全忘了说我在VB.Net下(但能理解C),我使用OpenGL和OpenTK进行绑定。
TextRenderer是GDi+的一个类。我使用它来创建字体纹理。这实际上不是OpenGL的问题。

控件文本中使用&来声明下一个字符是快捷键。例如,使用文本“E&xit”的控件显示带下划线“x”的“Exit”,并在用户按下Alt+x时激活

要在测量中包含安培数,请使用:

TextRenderer.MeasureText(text, font, Size.Empty, TextFormatFlags.NoPrefix)

什么是
TextRenderer
?OpenGL没有任何这样的功能。@Nicol Bolas:TextRenderer是.NET;lmgtfy的一部分