Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 填充多边形_C++_Oop_User Interface_Fltk - Fatal编程技术网

C++ 填充多边形

C++ 填充多边形,c++,oop,user-interface,fltk,C++,Oop,User Interface,Fltk,我正在使用创建GUI,我必须在屏幕上绘制一些多边形(形状) 根据fl_复杂多边形的文档: Start and end drawing a convex filled polygon. 问题出在哪里?多边形未填充,但仅显示笔划。如何使多边形成为填充形状 我的代码如下所示: fl_color(FL_RED); fl_begin_complex_polygon(); fl_line(mX,mY, x, y); .... fl_line(mX,mY, x, y); fl_end_complex_pol

我正在使用创建GUI,我必须在屏幕上绘制一些多边形(形状)

根据fl_复杂多边形的文档:

Start and end drawing a convex filled polygon.
问题出在哪里?多边形未填充,但仅显示笔划。如何使多边形成为填充形状

我的代码如下所示:

fl_color(FL_RED);
fl_begin_complex_polygon();
fl_line(mX,mY, x, y);
....
fl_line(mX,mY, x, y);
fl_end_complex_polygon();

其他相关问题:如何重新绘制
FL\u框
?我是否必须在其上绘制一个空白(背景色)矩形,或者是否有一些
FL\u BOX::clear()
函数?

Re:填充多边形。多边形由顶点组成:不是直线。它不知道线路。使用fl_顶点而不是fl_线

回复:fl_盒 根据具体情况,有两个fl_盒

fl\U box设置框类型 Fl_框来自Fl_框。H绘制一个框。如果代码被损坏,重画代码将自动重画。假设小部件名为box。呼叫盒->损坏(FL\U USER1)以强制重画


有关更多技巧,请查看

谢谢,多边形可以工作。如果我
使用此->damage()
它将只绘制函数中的内容,而不会绘制标签或其他默认框图形。无法同时触发Fl_框重画,例如绘制标签。如果我在损坏之前或之后添加
Fl\u Box::draw()
,则图形将堆叠。损坏只是设置了一个标志。它只会在重画循环中被重画。这是为了停止闪烁。如果你强制平局,那么你可能会得到一些闪烁。您希望重新绘制的标签是否属于Fl_框?如果没有,则需要在标签的父项上设置损坏。好的,我是这样做的:我使用了
Fl\u Box::draw()
。问题是框的样式背景是空的,因此下次绘制时,没有任何内容覆盖旧图形的宽度。解决方法是设置框样式。创建长方体时应设置长方体类型:在绘制之前。是的,我就是这么做的。默认情况下,长方体类型是透明的。必须在大学项目中使用FLTK:D