透明椭圆
如何用GDI绘制透明椭圆?我尝试了 SetBkMode()
但仍然得到一个白色椭圆 bk。
case WM_PAINT:
{
hdc = BeginPaint(hwnd, &ps);
SetBkMode(hdc, TRANSPARENT); // doesnt work
Ellipse(hdc, 0,0,500,500);
EndPaint(hwnd, &ps);
break;
}
How do you draw a transparent ellipse with GDI? I tried SetBkMode()
but I still get a white ellipse bk.
case WM_PAINT:
{
hdc = BeginPaint(hwnd, &ps);
SetBkMode(hdc, TRANSPARENT); // doesnt work
Ellipse(hdc, 0,0,500,500);
EndPaint(hwnd, &ps);
break;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
借用用C++填充椭圆:
因此,需要设置透明画笔。为此,请使用
GetStockObject(HOLLOW_BRUSH)
获取它,并使用SelectObject()
为给定的设备上下文激活它。所以你的代码可以是这样的:Borrowed from Fill an ellipse in C++:
Therefore, you need to set a transparent brush. For that, use
GetStockObject(HOLLOW_BRUSH)
to obtain it andSelectObject()
to activate it for a given device context. So your code can be like this: