Saving a gnomecanvas to a .png (or other graphic format)

I have been successfully (for the most part) been
using gnomecanvas to do a flight sim instrumentation
type display. What I'd eventually like to do is make a
demo movie of the display.

To that end, I've been trying to dump any updated
gnomecanvas to a .png file for later manipulation into
a .mng or animated .gif or mpeg file. To date, I've
been unsuccessful.

I dug into the list archives and found a post that
seemed to indicate that I could copy the code from
gnome_canvas_paint_rect to copy the gnomecanvas into a
pixmap which could then be copied into a pixbuf for
.png saving. I dutifully copied code and got a .png
file that's the right size, but might have the wrong
depth since the colored portion of the resulting .png
looks like a smeared and shortened version of the
original gnomecanvas.

I added the following code to the end of my
gnomecanvas update routine (canvas2 is a pointer to
the GnomeCanvas of interest):
        GnomeCanvas *canvas = GNOME_CANVAS(canvas2);
        GtkWidget   *widget = GTK_WIDGET(canvas2);

        GError *gerror = NULL;

        // Make a temporary pixbuf
        GdkPixbuf *pb = NULL;

        // Make the "temporary" pixmap
        GdkPixmap *p = gdk_pixmap_new
gtk_widget_get_visual (widget)->depth);
        // Draw the root canvas item to the pixmap
         // Now put the pixmap into a pixbuf
         pb = gdk_pixbuf_get_from_drawable(NULL,
                                           p, NULL,
             g_print("Problem rendering from the
pixmap into the pixbuf\n");
                 g_print("Problem saving the pixmap to
a .png file\n");

BTW, thanks to Mr. Pennington for his excellent GGAD
which got me this far!

Thanks for any thoughts or ideas!

Steve Field

Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site! 

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]