## gimpimageselect

gimpimageselect — Modify the image's selection.

## Synopsis

    gboolean            gimp_image_select_color             (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint32 drawable_ID,
                                                             const GimpRGB *color);
    gboolean            gimp_image_select_contiguous_color  (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint32 drawable_ID,
                                                             gdouble x,
                                                             gdouble y);
    gboolean            gimp_image_select_rectangle         (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);
    gboolean            gimp_image_select_round_rectangle   (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height,
                                                             gdouble corner_radius_x,
                                                             gdouble corner_radius_y);
    gboolean            gimp_image_select_ellipse           (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);
    gboolean            gimp_image_select_polygon           (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint num_segs,
                                                             const gdouble *segs);
    gboolean            gimp_image_select_item              (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint32 item_ID);

## Description

Functions to modify the image's selection.

## Details

### gimp_image_select_color ()

    gboolean            gimp_image_select_color             (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint32 drawable_ID,
                                                             const GimpRGB *color);

Create a selection by selecting all pixels (in the specified drawable) with the same (or similar) color to that specified.

This tool creates a selection over the specified image. A by-color selection is determined by the supplied color under the constraints of the current context settings. Essentially, all pixels (in the drawable) that have color sufficiently close to the specified color (as determined by the threshold and criterion context values) are included in the selection. To select transparent regions, the color specified must also have minimum alpha. This procedure is affected by the following context setters: `gimp_context_set_antialias()`, `gimp_context_set_feather()`, `gimp_context_set_feather_radius()`, `gimp_context_set_sample_merged()`, `gimp_context_set_sample_criterion()`, `gimp_context_set_sample_threshold()`, `gimp_context_set_sample_transparent()`. In the case of a merged sampling, the supplied drawable is ignored.

`image_ID` : | The affected image.
`operation` : | The selection operation.
`drawable_ID` : | The affected drawable.
`color` : | The color to select.
Returns : | TRUE on success.

Since GIMP 2.8

### gimp_image_select_contiguous_color ()

    gboolean            gimp_image_select_contiguous_color  (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint32 drawable_ID,
                                                             gdouble x,
                                                             gdouble y);

Create a selection by selecting all pixels around specified coordinates with the same (or similar) color to that at the coordinates.

This tool creates a contiguous selection over the specified image. A contiguous color selection is determined by a seed fill under the constraints of the current context settings. Essentially, the color at the specified coordinates (in the drawable) is measured and the selection expands outwards from that point to any adjacent pixels which are not significantly different (as determined by the threshold and criterion context settings). This process continues until no more expansion is possible. If antialiasing is turned on, the final selection mask will contain intermediate values based on close misses to the threshold bar at pixels along the seed fill boundary. This procedure is affected by the following context setters: `gimp_context_set_antialias()`, `gimp_context_set_feather()`, `gimp_context_set_feather_radius()`, `gimp_context_set_sample_merged()`, `gimp_context_set_sample_criterion()`, `gimp_context_set_sample_threshold()`, `gimp_context_set_sample_transparent()`. In the case of a merged sampling, the supplied drawable is ignored. If the sample is merged, the specified coordinates are relative to the image origin; otherwise, they are relative to the drawable's origin.

`image_ID` : | The affected image.
`operation` : | The selection operation.
`drawable_ID` : | The affected drawable.
`x` : | x coordinate of initial seed fill point: (image coordinates).
`y` : | y coordinate of initial seed fill point: (image coordinates).
Returns : | TRUE on success.

Since GIMP 2.8

### gimp_image_select_rectangle ()

    gboolean            gimp_image_select_rectangle         (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);

Create a rectangular selection over the specified image;

This tool creates a rectangular selection over the specified image. The rectangular region can be either added to, subtracted from, or replace the contents of the previous selection mask. This procedure is affected by the following context setters: `gimp_context_set_feather()`, `gimp_context_set_feather_radius()`.

`image_ID` : | The image.
`operation` : | The selection operation.
`x` : | x coordinate of upper-left corner of rectangle.
`y` : | y coordinate of upper-left corner of rectangle.
`width` : | The width of the rectangle.
`height` : | The height of the rectangle.
Returns : | TRUE on success.

Since GIMP 2.8

### gimp_image_select_round_rectangle ()

    gboolean            gimp_image_select_round_rectangle   (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height,
                                                             gdouble corner_radius_x,
                                                             gdouble corner_radius_y);

Create a rectangular selection with round corners over the specified image;

This tool creates a rectangular selection with round corners over the specified image. The rectangular region can be either added to, subtracted from, or replace the contents of the previous selection mask. This procedure is affected by the following context setters: `gimp_context_set_antialias()`, `gimp_context_set_feather()`, `gimp_context_set_feather_radius()`.

`image_ID` : | The image.
`operation` : | The selection operation.
`x` : | x coordinate of upper-left corner of rectangle.
`y` : | y coordinate of upper-left corner of rectangle.
`width` : | The width of the rectangle.
`height` : | The height of the rectangle.
`corner_radius_x` : | The corner radius in X direction.
`corner_radius_y` : | The corner radius in Y direction.
Returns : | TRUE on success.

Since GIMP 2.8

### gimp_image_select_ellipse ()

    gboolean            gimp_image_select_ellipse           (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);

Create an elliptical selection over the specified image.

This tool creates an elliptical selection over the specified image. The elliptical region can be either added to, subtracted from, or replace the contents of the previous selection mask. This procedure is affected by the following context setters: `gimp_context_set_antialias()`, `gimp_context_set_feather()`, `gimp_context_set_feather_radius()`.

`image_ID` : | The image.
`operation` : | The selection operation.
`x` : | x coordinate of upper-left corner of ellipse bounding box.
`y` : | y coordinate of upper-left corner of ellipse bounding box.
`width` : | The width of the ellipse.
`height` : | The height of the ellipse.
Returns : | TRUE on success.

Since GIMP 2.8

### gimp_image_select_polygon ()

    gboolean            gimp_image_select_polygon           (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint num_segs,
                                                             const gdouble *segs);

Create a polygonal selection over the specified image.

This tool creates a polygonal selection over the specified image. The polygonal region can be either added to, subtracted from, or replace the contents of the previous selection mask. The polygon is specified through an array of floating point numbers and its length. The length of array must be 2n, where n is the number of points. Each point is defined by 2 floating point values which correspond to the x and y coordinates. If the final point does not connect to the starting point, a connecting segment is automatically added. This procedure is affected by the following context setters: `gimp_context_set_antialias()`, `gimp_context_set_feather()`, `gimp_context_set_feather_radius()`.

`image_ID` : | The image.
`operation` : | The selection operation.
`num_segs` : | Number of points (count 1 coordinate as two points).
`segs` : | Array of points: { p1.x, p1.y, p2.x, p2.y, ..., pn.x, pn.y}.
Returns : | TRUE on success.

Since GIMP 2.8

### gimp_image_select_item ()

    gboolean            gimp_image_select_item              (gint32 image_ID,
                                                             GimpChannelOps operation,
                                                             gint32 item_ID);

Transforms the specified item into a selection

This procedure renders the item's outline into the current selection of the image the item belongs to. What exactly the item's outline is depends on the item type: for layers, it's the layer's alpha channel, for vectors the vector's shape. This procedure is affected by the following context setters: `gimp_context_set_antialias()`, `gimp_context_set_feather()`, `gimp_context_set_feather_radius()`.

`image_ID` : | The image.
`operation` : | The desired operation with current selection.
`item_ID` : | The item to render to the selection.
Returns : | TRUE on success.

Since GIMP 2.8