如何修复 Windows 11 中的 GDI+Windows 错误

对于使用 GDI+ 并将笔对象的宽度设置为零 (0) 的应用程序,在每英寸点数 (DPI) 或分辨率较高的显示器上,或者使用缩放的应用程序,可能会遇到此问题。在我们更深入地了解 GDI+ 的功能后,我们将立即向您展示解决方案列表。

GDI+有什么作用?

图形设备接口 (GDI) 是允许 Windows 应用程序提供所见即所得 (WYSIWYG) 功能的技术。gdiplus-1

GDI+ 是基于 C++ 的 GDI 图形驱动程序的改进版本。GDI 是 Windows 中的应用程序编程接口和基本操作系统组件,负责表示图形对象并将它们传输到输出设备。

借助图形设备接口增强版 (GDI+),应用程序程序员可以在屏幕或打印机上显示信息,而无需关心该显示设备的具体功能。

在应用程序软件中,程序员调用 GDI+ 类提供的方法,然后这些方法对适当的设备驱动程序进行相关调用。

它还将程序与图形硬件分离,正是这种分离使开发人员能够构建不依赖于图形硬件的应用程序。

如果在 Windows 11 中出现 GDI+Windows 错误,我该怎么办?

1. 运行 SFC 扫描

  1. 按 Windows + S 键打开 搜索 栏,然后键入 cmd 然后右键单击最相关的结果以管理员身份运行它。cmd-search-admin-1-1
  2. 键入或粘贴以下命令并按 Entersfc / scannowsfc-scan-windows-11-1-1

只需等待该过程完成(这可能需要一些时间),然后重新启动计算机以应用所做的更改。SFC 将自动查找并恢复损坏的文件和目录。

2. 运行电源疑难解答

  1. Windows+I键打开设置应用程序,然后导航到左侧面板中的系统,然后从右侧导航到疑难解答troubleshoot-menu-7
  2. 进入疑难解答菜单后,单击其他疑难解答选项。other-troubleshooters-option-7
  3. 现在向下滚动,直到遇到电源故障排除程序,然后单击它旁边的运行。power-run-troubleshooter-1

一旦故障排除程序结束搜索错误,它就会向您显示发生的确切错误以及如何修复它。确保按照显示的说明逐步进行。

3.更新显卡驱动

  1. 右键单击“开始”图标,然后单击“设备管理器”将其打开。device-manager-4-1
  2. 现在展开Display adapters部分并右键单击每个选项,然后选择Update driverupdate-graphics-driver-1

等待进程完成,然后重新启动计算机以应用所做的更改。我们强烈建议您使用专用工具自动更新驱动程序,例如云东方。

4. 检查 Windows 更新

  1. 按 Windows + I 键打开 设置 应用程序,然后单击  左侧面板中的Windows 更新windows-update-settings-1-10
  2. 如果您有任何新更新要下载,请单击“立即 安装” 按钮并等待该过程完成,否则单击“ 检查更新” 按钮。checl-for-updates-1-9

如果您运行的是旧版本的 Windows,这可能是导致错误的一个因素,可以通过更新操作系统来纠正。最有可能的是,该错误将在软件的后续更新中得到解决。

5. 以干净启动方式启动计算机

  1. Windows+R键打开一个新的运行框,然后输入或粘贴msconfig并点击OK。msconfig-1-5
  2. 导航到Boot选项卡并检查Boot options下的Safe boot选项 。  safe-boot-boot-5
  3. 现在转到显示“常规”的选项卡,  并确保 选中“选择性启动” 单选按钮,但取消选中其下的“ 加载启动项”。general-startup-clean-5
  4. 选择“服务”选项卡并选中“ 隐藏所有 Microsoft 服务”框,然后单击“全部禁用”以禁用所有可能导致问题的不必要服务。 disable-all-startup-5
  5. 在“启动”选项卡上,单击“ 打开任务管理器”并禁用所有已启用的启动项。task-manager-startup-5

现在您可以继续重新启动过程。Windows 将自动完成其工作,您所要做的就是等待该过程完成。

GDI+ 和 Direct2D 之间有什么区别?

多边形、椭圆和线条等几何图形在不透明、混叠状态下使用 GDI 进行渲染。通过 AlphaBlend API,它能够渲染别名和 ClearType 文本,并支持透明度混合。directx-3

然而,它对透明度的处理是不一致的,大多数 GDI API 都忽略了 alpha 通道。

只有少数 GDI API 可以保证操作后 alpha 通道中的内容。更重要的是,GDI 执行的渲染不能很好地转换为 3D 操作,现代 GPU 在其渲染引擎的 3D 部分上渲染最有效。

例子包括 Direct2D 的别名线被设计为简单地实现为在 GPU 上显示的两个三角形,而 GDI 使用 Bresenham 的线绘制方法。

Direct2D 渲染外观不透明、透明、锯齿和抗锯齿的基元。现代用户界面中经常使用透明度和动态效果。

由于严格的保证,它提供了它如何接受和生成透明内容,以及它的所有基元都使用硬件加速显示的事实,Direct2D 使开发现代用户界面变得容易。

Direct2D 不是 GDI 的真正超集,它不包括原语,如果它们在 GPU 上实现,它们将变得不可接受。因为 Direct2D 的开发非常强调 3D 加速,所以它与 Direct3D 结合使用也很简单。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun109351.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年12月22日 下午2:17
下一篇 2021年12月23日 上午10:21

相关推荐