0

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

0 回答 0