這是我的第一個應用程序,所以我很抱歉有點混亂的描述。如何使用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