这是我的第一个应用程序,所以我很抱歉有点混乱的描述。如何使用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.IsWindowed
到false
。但是这一次它不起作用 - 我全屏显示,但看起来我有一些虚拟工作空间,比显示器分辨率大4倍,显示器只是在左上角偷看工作区。我只能看到文本的一部分,并且它被拉长了。
所以有一些地方缩放打开,或有一些大小不同于我设置。但我没有看到任何有这种偏差的地方。
所以我的问题是 - 当使用RenderTarget
还需要什么才能获得全屏? SharpDX的原始代码:
基类 - https://github.com/sharpdx/SharpDX-Samples/blob/master/Desktop/Common/DemoApp.cs(这是同样为这两种方法)
层用swapchain - https://github.com/sharpdx/SharpDX-Samples/blob/master/Desktop/Common/Direct3D11DemoApp.cs
和类使用
RenderTarget
- https://github.com/sharpdx/SharpDX-Samples/blob/master/Desktop/Common/Direct2D1DemoApp.cs