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