如何在透明的客户区域上绘图?

时间:2015-05-08 11:22:32

标签: winapi gdi direct2d

我有一个完全透明的窗口(我删除了非客户区)。现在我想在上面画一个矩形。其实我想绘制模糊的矩形,但首先我只想了解简单的事情。我发现绘图可以使用以下技术:

  • GDI
  • GDI +
  • 的Direct2D
  • 的DirectWrite
我用谷歌搜索,发现现代的方式是使用direct2d。我试图绘制一个矩形并且我得到了文物:

  • 如果我使用SetLayeredWindowAttributes(m_hwnd, RGB(0, 0, 0), 128, LWA_ALPHA);呈现一个窗口,尽管我的矩形是不透明的,但我的所有区域都变成了半透明。
  • 如果我使用SetLayeredWindowAttributes(m_hwnd, RGB(255, 255, 255), 128, LWA_COLORKEY);而不是透明度会被忽略,但窗口会变为鼠标无效。

0 个答案:

没有答案