C++;使用FLTK&x27在形状中填充颜色;我不喜欢兜圈子 我在FLTCK.ORG上安装了FLTK 1.3 .x,在VisualStudio 2012编译器上,并使用PPP书来进行C++编程()。 我的问题是填充一个形状。例如,请遵守以下代码: #include <Simple_window.h> using namespace Graph_lib; int main() { Simple_window win(Point(100,100), 1000, 600, "Binary_tree"); Graph_lib::Circle c(Point(200,200),50); c.set_color(Color::red); c.set_fill_color(Color::blue); Graph_lib::Ellipse e(Point(100,100),50,30); e.set_color(Color::blue); e.set_fill_color(Color::red); Graph_lib::Rectangle r(Point(250,200),Point(350,300)); r.set_color(Color::green); r.set_fill_color(Color::red); win.attach(r); win.attach(e); win.attach(c); win.wait_for_button(); } #包括 使用名称空间图库; int main() { 简单窗口赢(点数(100100),1000600,“二叉树”); 图库::圆c(点(200200),50); c、 设置颜色(颜色:红色); c、 设置填充颜色(颜色:蓝色); 图库:椭圆e(点(100100),50,30); e、 设置颜色(颜色:蓝色); e、 设置填充颜色(颜色:红色); 图形库::矩形r(点(250200),点(350300)); r、 设置颜色(颜色:绿色); r、 设置填充颜色(颜色:红色); 附文(r); 获胜。附上(e); 附件(c); 赢。等待按钮(); }

C++;使用FLTK&x27在形状中填充颜色;我不喜欢兜圈子 我在FLTCK.ORG上安装了FLTK 1.3 .x,在VisualStudio 2012编译器上,并使用PPP书来进行C++编程()。 我的问题是填充一个形状。例如,请遵守以下代码: #include <Simple_window.h> using namespace Graph_lib; int main() { Simple_window win(Point(100,100), 1000, 600, "Binary_tree"); Graph_lib::Circle c(Point(200,200),50); c.set_color(Color::red); c.set_fill_color(Color::blue); Graph_lib::Ellipse e(Point(100,100),50,30); e.set_color(Color::blue); e.set_fill_color(Color::red); Graph_lib::Rectangle r(Point(250,200),Point(350,300)); r.set_color(Color::green); r.set_fill_color(Color::red); win.attach(r); win.attach(e); win.attach(c); win.wait_for_button(); } #包括 使用名称空间图库; int main() { 简单窗口赢(点数(100100),1000600,“二叉树”); 图库::圆c(点(200200),50); c、 设置颜色(颜色:红色); c、 设置填充颜色(颜色:蓝色); 图库:椭圆e(点(100100),50,30); e、 设置颜色(颜色:蓝色); e、 设置填充颜色(颜色:红色); 图形库::矩形r(点(250200),点(350300)); r、 设置颜色(颜色:绿色); r、 设置填充颜色(颜色:红色); 附文(r); 获胜。附上(e); 附件(c); 赢。等待按钮(); },c++,fltk,C++,Fltk,当我运行该程序时,所有三个形状都在窗口中绘制,但只有矩形被填充! 为什么? set\u color适用于这三种形状,显然set\u fill\u color是为所有形状定义的,它也应该可以工作,但为什么它不适用于圆形和椭圆 是.CPP和.h文件()可能是你在另一个网站上开始了关于这个问题的帖子,在那里我找到了解决方案,但是为了帮助其他人,他们也在与这个问题作斗争,我将发表这篇文章。您可以下载正在工作的Stroustrup的库。如果不想重写所有文件,只需将Graph.cpp中函数“Circle::

当我运行该程序时,所有三个
形状
都在窗口中绘制,但只有
矩形
被填充! 为什么?
set\u color
适用于这三种形状,显然
set\u fill\u color
是为所有
形状定义的,它也应该可以工作,但为什么它不适用于
圆形
椭圆


.CPP
.h
文件()

可能是你在另一个网站上开始了关于这个问题的帖子,在那里我找到了解决方案,但是为了帮助其他人,他们也在与这个问题作斗争,我将发表这篇文章。您可以下载正在工作的Stroustrup的库。如果不想重写所有文件,只需将Graph.cpp中函数“Circle::draw_lines()”中的代码更改为此代码,然后重新编译库:

if (fill_color().visibility()) {    // fill
    fl_color(fill_color().as_int());
    fl_pie(point(0).x,point(0).y,r+r-1,r+r-1,0,360);
    fl_color(color().as_int()); // reset color
}

if (color().visibility()) {
    fl_color(color().as_int());
    fl_arc(point(0).x,point(0).y,r+r,r+r,0,360);
}

没有任何想法!?这与fltk无关:它与写在fltk之上的graph_lib有关。您是从哪里获得graph_lib的?您在哪个平台上运行?我的机器是Windows 7,编译器是M Visual Studio 2012。我安装了FLTK版本1.3.2,我想Graph_-lib就是从它那里来的。花了一段时间才找到Graph_-lib——它来自Stourstrup的网站。不管怎样,运行你的程序,它会填充圆和椭圆。它进入fl_arci.cxx例程fl_Graphics_Driver::pie,它应该填满这个圆圈。请问您使用的是什么版本的FLTK?1.3.2?