# Method Image.XCF.__decode()

Method __decode

  ```object`` __decode(`string`|`mapping` `data`, `object` `mapping|voidoptions`)`

Description

  Decodes a XCF image to a Image.XCF.GimpImage object.

      Returned structure reference

         !class GimpImage
         {
           int width;
           int height;
           int compression;
           int type;
           int tattoo_state;
           float xres = 72.0;
           float yres = 72.0;
           int res_unit;
           Image.Colortable colormap;
           Image.Colortable meta_colormap;
           array(Layer) layers = ({});
           array(Channel) channels = ({});
           array(Guide) guides = ({});
           array(Parasite) parasites = ({});
           array(Path) paths = ({});

           Layer active_layer;
           Channel active_channel;
           Channel selection;
         }

         !class Layer
         {
           string name;
           int opacity;
           int type;
           int mode;
           int tattoo;
           mapping flags = ([]);
           int width, height;
           int xoffset, yoffset;
           array (Parasite) parasites;
           LayerMask mask;
           Hierarchy image;
         }

         !class Channel
         {
           string name;
           int width;
           int height;
           int opacity;
           int r, g, b;
           int tattoo;
           Hierarchy image_data;
           object parent;
           mapping flags = ([]);
           array (Parasite) parasites;
         }

         !class Hierarchy
         {
           Image.Image img;
           Image.Image alpha;
           int width;
           int height;
           int bpp;
         }

         !class Parasite
         {
           string name;
           int flags;
           string data;
         }

         !class Guide
         {
           int pos;
           int vertical;
         }

         !class Path
         {
           string name;
           int ptype;
           int tattoo;
           int closed;
           int state;
           int locked;
           array (PathPoint) points = ({});
         }

         !class PathPoint
         {
           int type;
           float x;
           float y;
         }

Method __decode

  ``GimpImage` __decode(`string`|`mapping` `what`)`