0

我想实现一个真实的、“活的”全屏缩放,类似于 Windows 7 的功能,您可以通过单击开始>放大镜>视图>全屏来查看。

您可以在此应用程序上注意到 2 件事:

1.- 它不是最顶级的 Windows 窗体应用程序,它不断地截取屏幕截图并调整其大小,否则它会闪烁。

2.- 当光标在一个项目上时,比如一个图标,图标静止显示鼠标悬停动画(这就是我所说的“实时”缩放,继续在图标上尝试一下)。

我无法使用 Windows 表单创建具有这 2 个功能的应用程序,该表单会截取屏幕截图,请参阅我的另一篇文章(切换最顶层表单而不闪烁),因为它会闪烁。

我想这种缩放是直接调用一些系统绘图方法。有人知道如何用 C# .NET 实现这个结果吗?

谢谢。

4

1 回答 1

0

“截屏”是一种可行的解决方案,但要正确捕捉鼠标指针以及视觉效果(如阴影等),您需要以特殊方式进行捕捉。

此外,请记住,不建议使用Graphics.CopyFromScreen ,因为它会泄漏图形句柄。

您应该查看的是在 Windows 7 中引入并在 Windows 8 中扩展的放大 API。这就是放大工具正在使用的。

于 2013-07-30T06:29:14.130 回答