如何解决OpenTK 为窗口增加了额外的宽度和高度
我正在创建一个小的 OpenTK 应用程序,我刚刚注意到窗口的实际宽度和高度添加了一些额外的像素。
我将窗口设置为 400x400,但是当我从屏幕实例的代码中打印宽度和高度时,它说 ClientSize 是 442x442。而且这不是固定的 42 像素,如果我把分辨率提高到 800x800,它就会变成 883x883。为什么会发生这种变化?我找不到任何关于它的信息,甚至在 opentk.net 上也找不到,我查看了源代码,但找不到更改的原因。
解决方法
我一直无法为这个确切的问题找到解决方案,但我发现在 Screen 构造函数中我可以使用行 ClientSize = new System.Drawing.Size(width,height);
并且它会正常工作。
最终结果如下:
using System;
using System.Drawing;
using OpenTK;
using OpenTK.Graphics;
namespace Engine
{
class Screen : GameWindow
{
public Screen(int width,int height,string title) : base(width,height,GraphicsMode.Default,title)
{
// This line will correct the window size to be the one passed to the constructor
ClientSize = new Size(width,height);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。