2017-10-06 33 views
0

这是我的第一个应用程序,所以我很抱歉有点混乱的描述。如何使用RenderTarget以全屏方式显示文本?

我想在全屏显示“hello world” - 我下载了SharpDX样本,那里有“hello world”样本。我改变渲染形式的创建:

_form = new RenderForm("hello world") 
{ 
    WindowState = FormWindowState.Maximized, 
    IsFullscreen = true, 
    FormBorderStyle = FormBorderStyle.None 
}; 

,然后用于_form.Width/_form.Height作为尺寸值绘制文字时设置WindowRenderTarget和矩形大小的属性。

它的工作原理,尺寸是正确的,文本没有模糊(这意味着它不被拉伸,这将是使用不同尺寸的效果)。

此方法使用WindowRenderTarget,我注意到在SharpDX示例中也有类Direct2D1DemoApp使用RenderTarget,所以我切换“hello world”来使用它。

我做了同样的更改,我也设置SwapChainDescription.IsWindowedfalse。但是这一次它不起作用 - 我全屏显示,但看起来我有一些虚拟工作空间,比显示器分辨率大4倍,显示器只是在左上角偷看工作区。我只能看到文本的一部分,并且它被拉长了。

所以有一些地方缩放打开,或有一些大小不同于我设置。但我没有看到任何有这种偏差的地方。

所以我的问题是 - 当使用RenderTarget还需要什么才能获得全屏? SharpDX的原始代码:

回答

0

单行的区别,自交换链创建以来形式和我在这一点上依靠的形式,首先显示形式是必需的。所以有了这个加法:

_form = new RenderForm("hello world") 
{ 
    WindowState = FormWindowState.Maximized, 
    IsFullscreen = true, 
    FormBorderStyle = FormBorderStyle.None 
}; 

_form.Show(); // new ! 

我终于得到了预期的效果。

相关问题