gpt4 book ai didi

c++ - GDI+抖动问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:36 28 4
gpt4 key购买 nike

我有一个使用 Windows Win32 API 的 C++ 应用程序,我遇到了 GDI+ 抖动问题,但我不知道为什么会这样。

我有一个自定义控件(自​​定义窗口)。当我收到 WM_PAINT 消息时,我在图形设备上使用 FillPolygon 绘制了一些多边形。此图形设备是使用 BeginPaint 的 HDC 创建的。

但是,当多边形出现在屏幕上时,它们会抖动而不是透明的,并且似乎只显示很少的颜色(可能是 256 种?)当我在 C# 中使用 GDI+ 中的 .NET 接口(interface)做同样的事情时,它起作用了很好,这让我想知道发生了什么。

我没有做任何特别的事情,据我所知,这是一个应该可以正常工作的简单示例。我做错了什么吗?

编辑:没关系。它只发生在远程桌面上,即使 C# 示例不会在远程桌面上抖动。远程桌面设置为 32 位颜色,所以我不知道这是怎么回事。

最佳答案

嗯……填充能力由目标设备决定。在远程桌面上工作时,AFAIK Windows 替换了显示驱动程序,因此可以更改显示器支持的功能。

  1. 在wm_paint上绘图时,实际上是直接在屏幕表面上绘图,而.net通常使用双缓冲(绘制到内存位图,然后blits整个位图)
  2. gdi+ 中有一些设置会影响绘图质量。也许屏幕上、屏幕外和远程绘画有不同的默认值?

关于c++ - GDI+抖动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/377094/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com