首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用RenderTarget全屏显示文本?

如何使用RenderTarget全屏显示文本?
EN

Stack Overflow用户
提问于 2017-10-06 10:09:06
回答 1查看 193关注 0票数 0

这是我的第一个应用程序,所以我很抱歉有点混乱的描述。

我想在全屏上展示"hello world“--我下载了SharpDX示例,这里有"hello world”示例。我将创建呈现表单更改为:

代码语言:javascript
复制
_form = new RenderForm("hello world")
{
  WindowState = FormWindowState.Maximized,
  IsFullscreen = true,
  FormBorderStyle = FormBorderStyle.None
};

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

它工作,大小是正确的,文本没有模糊(这意味着它没有拉伸,这将影响使用不同的尺寸)。

这种方法使用WindowRenderTarget,我注意到在SharpDX示例中也有类(Direct2D1DemoApp)使用RenderTarget,所以我切换了"hello“来使用它。

我做了同样的更改,还将SwapChainDescription.IsWindowed设置为false。然而,这一次它也不起作用了--我得到了全屏,但看起来我有比显示器分辨率大4倍的虚拟工作区,监视器只是在窥视那个工作区的左上角。我只能看到文本的一部分,而且它被拉伸了。

因此,在某个地方启动了缩放,或者有一些大小与我设置的不同。但我看不出有什么地方会有这样的偏差。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-06 10:45:28

差异的单行,因为交换链是在表单之后创建的,而我在这一点上依赖于表单,首先需要显示表单。因此,有了这个增加:

代码语言:javascript
复制
_form = new RenderForm("hello world")
{
  WindowState = FormWindowState.Maximized,
  IsFullscreen = true,
  FormBorderStyle = FormBorderStyle.None
};

_form.Show(); // new !

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46603321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档