У меня есть приложение C ++, использующее Win32 API для Windows, и у меня возникла проблема с GDI + дизеринг, когда я не знаю, почему это так.
У меня есть пользовательский элемент управления (пользовательское окно). Когда я получаю сообщение WM_PAINT, я рисую несколько полигонов, используя FillPolygon на графическом устройстве. Это графическое устройство было создано с использованием HDC от BeginPaint.
Однако, когда многоугольники появляются на экране, они размыты, а не прозрачны, и, кажется, показывают только несколько цветов (возможно, 256?). Когда я делаю то же самое в C # с использованием интерфейса .NET в GDI +, это работает хорошо, что заставляет меня задуматься о том, что происходит.
Я не делаю ничего особенного, это простой пример, который, насколько я знаю, должен работать нормально. Я что-то не так делаю?
Редактировать: Бессмысленно. Это происходит только через удаленный рабочий стол, хотя в примере C # не происходит дизеринг по удаленному рабочему столу. Удаленный рабочий стол настроен на 32-битный цвет, поэтому я не знаю, что с этим.