Gegl.Buffer.introspectable_get

### Method

# Gegl Bufferintrospectable_get

#### Declaration [src]

    guchar*
    gegl_buffer_introspectable_get (
      GeglBuffer* buffer,
      const GeglRectangle* rect,
      gdouble scale,
      const gchar* format_name,
      GeglAbyssPolicy repeat_mode,
      guint* data_length
    )

#### Description [src]

Fetch a rectangular linear buffer of pixel data from the GeglBuffer.

This method is renamed to `gegl_buffer_get()` in language bindings.

#### Parameters

`rect`

  Type: `GeglRectangle`

  The coordinates we want to retrieve data from.

  The data is owned by the caller of the method.

`scale`

  Type: `gdouble`

  Sampling scale, 1.0 = pixel for pixel 2.0 = magnify, 0.5 scale down.

`format_name`

  Type: `const gchar*`

  The format to store data in, if NULL the format of the buffer is used.

  The argument can be `NULL`.
  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`repeat_mode`

  Type: `GeglAbyssPolicy`

  How requests outside the buffer extent are handled. Valid values: GEGL_ABYSS_NONE (abyss pixels are zeroed), GEGL_ABYSS_WHITE (abyss pixels are white), GEGL_ABYSS_BLACK (abyss pixels are black), GEGL_ABYSS_CLAMP (coordinates are clamped to the abyss rectangle), GEGL_ABYSS_LOOP (buffer contents are tiled if outside of the abyss rectangle).

`data_length`

  Type: `guint*`

  The length of the returned buffer.

  The argument will be set by the function.

#### Return value

Type: An array of `guchar`

A copy of the requested data.

The length of the array is in the `data_length` argument.
The caller of the method takes ownership of the returned data, and is responsible for freeing it.