语境
自 Windows 10 版本 2004 更新以来,放大镜 windows 应用程序已更新。与每次更新一样,它也存在一些问题。
由于这些问题可能需要很长时间才能解决,所以我决定实现我自己的小项目全屏放大镜。
我一直在使用 windows magnification.dll 中的放大 API 在 c#、.Net 4.6 中进行开发。一切顺利,主要功能现已实现。但是缺少一件事,像素化内容的平滑模式... Windows 放大镜对放大的内容实现了抗锯齿/平滑。
我检查了放大 API,似乎没有提供该选项。
如何在 Windows 放大 API 上为放大镜添加平滑模式?
我知道像素平滑方法,但不熟悉 win32 API 以知道在屏幕刷新之前将平滑方法挂钩到哪里。
编辑:
感谢@IInspectable 的回答,经过小小的搜索,我在一个python 项目中找到了对放大API 的调用。
基于此,我在我的 C# 应用程序中编写了这个片段,它按预期工作!
[DllImport("Magnification.dll")]
private static extern bool MagSetFullscreenUseBitmapSmoothing(bool useSmoothing);
...
var isMagnifierInitialized = MagInitialize();
var isSmoothingActive = MagSetFullscreenUseBitmapSmoothing(true);