2012-04-17 6 views
1

Я делаю простое приложение FLTK (в окнах), которое должно отображать PNG-изображения в FL_Window, загружать их один за другим с диска. У меня есть этот код в качестве отправной точки, но его не отображается изображение, которое я могу подтвердить, находится в той же папке, что и исполняемый файл:FLTK display image

int main(int argc, char **argv) 
{ 
    Fl_Window *main_window = NULL; 
    fl_register_images(); 
    flw = new Fl_Window(1680,1050,title); 
    Fl_Shared_Image *a = Fl_Shared_Image::get("picture.png"); 
    if (a != NULL) 
    { 
     cout << "Image loaded" << endl;  
    } 
    else 
    { 
     cout << "No image loaded" << endl; // <==== This is printed 
    } 
    flw->begin(); 
    // add image to window code here, not sure what to write but 
    // image doesnt even load 
    flw->end(); 
    main_window->show(); 
    int fl_ret = Fl::run(); 
    return fl_ret; 
} 

Любая помощь очень ценится .. класс

ответ

4

Fl_Shared_Image используется для

«Найти или загрузить изображение, которое может использоваться несколькими виджетами».

использование Fl_PNG_Image класс

int main() { 
    fl_register_images();      
    Fl_Window  win(720,486);     
    Fl_Box  box(10,10,720-20,486-20);  
    Fl_PNG_Image png("picture.png");  
    box.image(png);        
    win.show(); 
    return(Fl::run()); 
}