Windows.Form Pixel Scaling

时间:2017-01-25 14:22:25

标签: .net windows winforms

我们正在使用.NET / Mono / Xamarin编写跨平台应用程序。我们基本上将所有内容呈现为一个完整形式的图片框,因此我们支持的所有4个平台(Android,iOS,WinCE和现在的Windows)的代码均为98%。

对于iOS和Android,我们可以自动缩放最终渲染结果。基本上,我们将应用程序渲染为小分辨率,然后使用最终的blit将屏幕上的所有内容放大到更高分辨率的屏幕,使其填满屏幕。是的,它可以看起来像素化,但这对我们来说没问题。例如,我们现在正在渲染到768x1024尺寸,但这是在iOS上在视网膜显示器上显示全屏,分辨率为1500x2000。我们的其余应用仍然认为我们正在渲染到小尺寸(768x1024)。

我正在为Windows.Forms寻找类似的工具。从本质上讲,我只想将表单分辨率设置为768x1024,但要自动将其扩展到1536x2048。

为什么呢?由于Surface Pro的运动分辨率为3000x2000等,我们希望继续编写基于像素的应用程序以渲染到更低的分辨率,并自动将其分解为更高分辨率的形式。

我尝试了Windows.Forms.Scale()属性,但这似乎没有效果。这似乎是我们正在寻找的。

基本上我们想要做的是:  1.将基本表单大小设置为1024x768(横向)  2.将Form.Scale设置为2.0f。  3.噗......形式神奇地在屏幕上显示为2048x1536像素(因此它填充了大部分Surface Pro屏幕,但是,整个应用程序的其余部分仍然看到基本表单大小为1024x768。

简而言之,我们希望屏幕上的显示大于它的真实分辨率,将每个原始像素放大到更大的值,以使其更加明显超高rez屏幕(如Surface Pro)。

我希望我在这里有意义。谢谢你的时间!

0 个答案:

没有答案