我创建了一个控制台应用程序和一个MVC网站。两者都是像WMF一样加载元文件的确切代码。
我想检测这些文件的大小。
System.Drawing.Image imgFile= System.Drawing.Image.FromFile(mfFile);
int pixelWidth = imgFile.Width;
int pixelHeight = imgFile.Height;
我的控制台应用程序检测到1921x1081px(这是正确的),我的Web应用程序检测到1025 * 769px。
图元文件的分辨率与位图的分辨率不同。所以你可以简单地忽略这个问题,因为你可以绘制任何大小的元文件。
原因可能是您执行控制台应用程序的操作系统具有自定义DPI设置(可以是Windows自动调整它,例如,如果您有4K显示器)。尝试通过DPI设置调整报告的大小,看看是否得到相同的结果。
阅读实际设置并不明显,但您可以在这里找到解决方案:https://stackoverflow.com/a/31542085/5114784