C# 启用字体/图标缩放时,图形复制从屏幕关闭

C# 启用字体/图标缩放时,图形复制从屏幕关闭,c#,graphics,fonts,scaling,C#,Graphics,Fonts,Scaling,需要有关C#Windows窗体程序的帮助。这是在.NET4.0上 我使用以下代码片段从我的窗口捕获合成图像: var location = PointToScreen(picVisualizer.Location); ... g.CopyFromScreen(location, new Point(0, 0), picVisualizer.Size, CopyPixelOperation.SourceCopy); picVisualizer是我窗口中的PictureBox控件。 只要用户将Wi

需要有关C#Windows窗体程序的帮助。这是在.NET4.0上

我使用以下代码片段从我的窗口捕获合成图像:

var location = PointToScreen(picVisualizer.Location);
...
g.CopyFromScreen(location, new Point(0, 0), picVisualizer.Size, CopyPixelOperation.SourceCopy);
picVisualizer是我窗口中的PictureBox控件。 只要用户将Windows字体/图标缩放保持在100%,这项功能就完全符合预期。如果它们发生变化,则捕获的图像大小正确,但偏移,捕获窗口、桌面等的一部分

我尝试过多种解决方案,但它们总是给我相同的位置值,因此最终结果是相同的。我也尝试过将AutoScaleMode设置为None、Font、Dpi和Inherit,这四个选项都给出了相同的结果

有没有办法调整代码,使其即使在显示比例未达到100%时也能捕获屏幕的正确部分


谢谢。

Blorgbeard建议的答案效果很好

picVisualizer.DrawToBitmap(bitmap, picVisualizer.ClientRectangle);

谢谢。

有用吗?@Blorgbeard是的,效果很好,谢谢!