Gtk2::Gdk::Image(3) wrapper for GdkImage


A "Gtk2::Gdk::Image" is a 2-D array of pixel values in client-side memory. It can optionally use shared memory with the X server for fast copying to or from a window or pixmap.

If you're thinking of using this then look at "Gtk2::Gdk::Pixbuf" first. GdkPixbuf has many more features, in particular file read and write (PNG, JPEG, etc). But a GdkImage lets you work directly in pixel values instead of expanding to RGB components.

See Gtk2::Gdk::Drawable for "draw_image", "get_image" and "copy_to_image" methods to draw or fetch images to or from a window or pixmap.

The various "get" methods are Gtk 2.22 style. For previous versions they're direct field access.




image or undef = Gtk2::Gdk::Image->new ($type, $visual, $width, $height)

  • $type (Gtk2::Gdk::ImageType)
  • $visual (Gtk2::Gdk::Visual)
  • $width (integer)
  • $height (integer)

integer = $image->get_bits_per_pixel

byteorder = $image->get_byte_order

integer = $image->get_bytes_per_line

integer = $image->get_bytes_per_pixel

colormap = $image->get_colormap

$image->set_colormap ($colormap)

  • $colormap (Gtk2::Gdk::Colormap)

integer = $image->get_depth

integer = $image->get_height

imagetype = $image->get_image_type

unsigned = $image->get_pixel ($x, $y)

  • $x (integer)
  • $y (integer)

string = $image->get_pixels()

Return a copy of the raw pixel data memory from $image. This is "bytes_per_line * height" many bytes.

$image->put_pixel ($x, $y, $pixel)

  • $x (integer)
  • $y (integer)
  • $pixel (unsigned)

visual = $image->get_visual

integer = $image->get_width


enum Gtk2::Gdk::ByteOrder

  • 'lsb-first' / 'GDK_LSB_FIRST'
  • 'msb-first' / 'GDK_MSB_FIRST'

enum Gtk2::Gdk::ImageType

  • 'normal' / 'GDK_IMAGE_NORMAL'
  • 'shared' / 'GDK_IMAGE_SHARED'
  • 'fastest' / 'GDK_IMAGE_FASTEST'


Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.