【发布时间】:2013-11-27 01:58:28
【问题描述】:
我目前为 2D 设置了正交,当我调整窗口大小时,它会拉伸窗口中绘制的任何内容,有没有办法在调整窗口大小时只显示黑条或至少保持内容的纵横比,因此它们根本不会拉伸。我已经尝试了一些我在这里看到的实现,但没有一个真正有效。
编辑:抱歉,伙计们有点金发碧眼
Protected Overrides Sub OnResize(ByVal e As EventArgs)
MyBase.OnResize(e)
GL.Viewport(0, 0, Width, Height)
GL.MatrixMode(MatrixMode.Projection)
GL.LoadIdentity()
GL.Ortho(-1.0, testvalue, testvalue , 1.0, 0.0, 4.0)
End Sub
此时的测试值为 5000,窗口大小为 800x800
【问题讨论】:
-
当窗口改变尺寸时,请包括您使用设置“正交”投影矩阵的实际代码。为了让它按照你想要的方式工作,我希望在调整窗口大小之前和之后看到一些数学来补偿纵横比。
-
已编辑!我确实尝试通过将测试值乘以宽度/高度来合并纵横比,但它非常狡猾,并没有真正保持比例。