//绘制光圈
CDC* dc = GetDC();
int oldrop = dc->GetROP2();
dc->SetROP2(R2_XORPEN);
HPEN hpen = CreatePen(PS_SOLID,2,RGB(0,255,0));
dc->SelectObject(hpen);
dc->SelectObject(GetStockObject(NULL_BRUSH));
dc->Ellipse((OriginPos.x-Diameter/2.0),(OriginPos.y-Diameter/2.0),(OriginPos.x+Diameter/2.0),(OriginPos.y+Diameter/2.0));
dc->Ellipse((point.x-Diameter/2.0),(point.y-Diameter/2.0),(point.x+Diameter/2.0),(point.y+Diameter/2.0));
OriginPos = point;
dc->SetROP2(oldrop);
::DeleteObject(hpen);
::DeleteObject(GetStockObject(NULL_BRUSH));
ReleaseDC(dc);
本文介绍了一种使用 GDI 在 Windows 平台上绘制定点光圈视觉效果的方法。通过设置画笔、画笔样式及颜色,利用 XOR 操作实现光圈的绘制,并通过椭圆函数确定光圈的位置和大小。
3852

被折叠的 条评论
为什么被折叠?



