Gtk2::Gdk::Image(3)

NAME
Gtk2::Gdk::Image

DESCRIPTION
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.

HIERARCHY
  Glib::Object
  +----Gtk2::Gdk::Image

METHODS

  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

ENUMS AND FLAGS

  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'

SEE ALSO
Gtk2, Glib::Object

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

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