GDI中FillRect的标准方法是
Rectangle(hdc, x_, y_, x_ + width_, y_ + height_);
但是我如何填充三角形?
在不使用其他资源的情况下,我将如何处理?
最佳答案
使用Polygon
函数,该函数使用当前画笔填充多边形。下面的示例绘制一个三角形,轮廓为红色并用蓝色填充:
#include <windows.h>
#include <windowsx.h>
...
HPEN hPen = CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
HPEN hOldPen = SelectPen(hdc, hPen);
HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 255));
HBRUSH hOldBrush = SelectBrush(hdc, hBrush);
POINT vertices[] = { {200, 100}, {300, 300}, {100, 300} };
Polygon(hdc, vertices, sizeof(vertices) / sizeof(vertices[0]));
SelectBrush(hdc, hOldBrush);
DeleteObject(hBrush);
SelectPen(hdc, hOldPen);
DeleteObject(hPen);
结果看起来像这样:
关于c++ - C++ Windows32 GDI填充三角形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33447305/