C# Windows 8.1无端扩展WinForms应用程序
明白了这一点,你将成为我的编程英雄: 我的客户端使用运行在Windows 8.1上的Surface Pro平板电脑 该应用程序是基于WinForms的桌面应用程序 当应用程序试图打开TIFF图像时,只有在那时,Windows才会决定放大应用程序(称为显示缩放),结果是应用程序中的所有内容突然变得非常小,以至于您根本看不到或无法使用它。因此,我们希望避免这种缩放。(从“兼容性”选项卡上关闭它更糟糕) 现在是有趣的部分。代码如下所示:C# Windows 8.1无端扩展WinForms应用程序,c#,windows,winforms,tablet,C#,Windows,Winforms,Tablet,明白了这一点,你将成为我的编程英雄: 我的客户端使用运行在Windows 8.1上的Surface Pro平板电脑 该应用程序是基于WinForms的桌面应用程序 当应用程序试图打开TIFF图像时,只有在那时,Windows才会决定放大应用程序(称为显示缩放),结果是应用程序中的所有内容突然变得非常小,以至于您根本看不到或无法使用它。因此,我们希望避免这种缩放。(从“兼容性”选项卡上关闭它更糟糕) 现在是有趣的部分。代码如下所示: Stream stream = new MemoryStream
Stream stream = new MemoryStream(File.ReadAllBytes(fileName));
// At this point the app looks ok...
bitmap = LoadTiffFromStream(stream);
private static Bitmap LoadTiffFromStream(Stream stream)
{
// Here before any code executes, the app is scaled
如您所见,我们将一些文件加载到流中,将流传递给一个方法,然后在执行该方法的任何代码之前,该应用程序将被缩放。这只会发生在TIFF图像上,就好像应用程序不知何故知道流包含TIFF数据一样
一些测试:
我想不出来。你能吗?你有没有尝试过不同的加载图像的方法
Bitmap img = Image.FromFile(@"MyImage.tif").Clone() as Bitmap;
使用帮助吗?我还没有测试过这个特定的问题,但是当我禁用显示缩放时,整个UI都被破坏了,所以这不是我们的选项。