我正在尝试用FLTK在C++程序中绘制一个xpm文件。
下面是代码
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include "image.xpm"
#include <FL/Fl_Pixmap.H>
#include <FL/fl_draw.H>
#include <FL/Fl_Image.H>
int main(int argc, char ** argv)
{
Fl_Window *window = new Fl_Window(800,650);
Fl_Pixmap pix(XFACE);
pix.draw(200,200);
window->end();
window->show(argc,argv);
return Fl::run();
}XFACE是"image.xpm“中的有效xpm对象
但是我在pix.draw()代码行遇到了一个分段错误。
这是什么原因造成的?
发布于 2012-06-18 18:25:39
/* Try this - this works for me, and I guess is what you meant! */
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Pixmap.H>
#include "image.xpm"
int main(int argc, char ** argv)
{
Fl_Window *window = new Fl_Window(800,650);
Fl_Box *image_box = new Fl_Box(5, 5, 790, 640);
Fl_Pixmap pix(XFACE);
window->end();
image_box->image(pix);
window->show(argc,argv);
return Fl::run();
}
/* end of file */发布于 2012-06-18 18:11:10
老实说,这看起来甚至不像是有效的fltk代码;您直接调用的是draw()方法和在fltk中很少有效的AFAIK。
你可能想问问他们的邮件列表--他们的反应很快。
另外,你有没有看过tarball的"test“文件夹中的像素图演示--看看它做了什么,然后复制它!
https://stackoverflow.com/questions/11044029
复制相似问题