我是SharpGL(OpenGl)的新手,我正在尝试绘制一些正方形并在里面添加一些文字。我使用下面的代码。
问题是,gl.DrawText3D方法根据文本长度自行翻译。当我想添加一个从正方形的左边缘开始的新行时,第二行的起点与第一行不匹配。
我在寻找的是:
1)如果有办法阻止DrawText3d方法翻译
或
2)找出通过这种方法翻译了多少。
public void addPlc(PLCTreeNode plc,int level)
{
OpenGL gl = openGLControl.OpenGL;
gl.Translate(plc.level * 6, -6, 0);
gl.PushMatrix();
setColor(plc.plcColor);
drawSquare();
if (!isFirt)
{
setColor(plc.LineColor);
drawLine(-3, 4 + level * 6, -3, 2, 12);
}
isFirt = false;
gl.Translate(-3.9, 1, 0);
setColor(0);
// Where text is written.
gl.DrawText3D("Arial", 25, 2, 0.1f, plc.plcId + " - " + plc.slaveCount+"\n"+plc.lastInfoTime.ToString("s").Replace('T', ' '));
//translate assumpstion is 7.0f but it is not always
gl.Translate(-7, -1, 0);
// setColor(0);
gl.DrawText3D("Arial", 25, 2, 0.1f, plc.lastInfoTime.ToString("s").Replace('T', ' '));
gl.PopMatrix();
gl.Translate(plc.level * -6, 0, 0);