gimpimageconvert_pdb.c 7.72 KB
Newer Older
1
/* LIBGIMP - The GIMP Library
2
 * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
3
 *
4
 * gimpimageconvert_pdb.c
5
 *
6
 * This library is free software: you can redistribute it and/or
7 8
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
9
 * version 3 of the License, or (at your option) any later version.
10 11 12 13 14 15 16
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
17 18
 * License along with this library.  If not, see
 * <http://www.gnu.org/licenses/>.
19 20
 */

21
/* NOTE: This file is auto-generated by pdbgen.pl */
22

Sven Neumann's avatar
Sven Neumann committed
23 24
#include "config.h"

25 26
#include "gimp.h"

27 28

/**
29 30
 * SECTION: gimpimageconvert
 * @title: gimpimageconvert
31 32 33 34 35 36
 * @short_description: Conversions between RGB, indexed, and grayscale modes.
 *
 * Conversions between RGB, indexed, and grayscale modes.
 **/


37
/**
38
 * gimp_image_convert_rgb:
39 40 41 42 43
 * @image_ID: The image.
 *
 * Convert specified image to RGB color
 *
 * This procedure converts the specified image to RGB color. This
44 45
 * process requires an image in Grayscale or Indexed color mode. No
 * image content is lost in this process aside from the colormap for an
46
 * indexed image.
47 48
 *
 * Returns: TRUE on success.
49
 **/
50
gboolean
51
gimp_image_convert_rgb (gint32 image_ID)
52
{
53
  GimpParam *return_vals;
54
  gint nreturn_vals;
55
  gboolean success = TRUE;
56

57
  return_vals = gimp_run_procedure ("gimp-image-convert-rgb",
58 59 60
                                    &nreturn_vals,
                                    GIMP_PDB_IMAGE, image_ID,
                                    GIMP_PDB_END);
61

62 63
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

64
  gimp_destroy_params (return_vals, nreturn_vals);
65 66

  return success;
67 68
}

69
/**
70
 * gimp_image_convert_grayscale:
71 72
 * @image_ID: The image.
 *
73
 * Convert specified image to grayscale
74
 *
75 76
 * This procedure converts the specified image to grayscale. This
 * process requires an image in RGB or Indexed color mode.
77 78
 *
 * Returns: TRUE on success.
79
 **/
80
gboolean
81
gimp_image_convert_grayscale (gint32 image_ID)
82
{
83
  GimpParam *return_vals;
84
  gint nreturn_vals;
85
  gboolean success = TRUE;
86

87
  return_vals = gimp_run_procedure ("gimp-image-convert-grayscale",
88 89 90
                                    &nreturn_vals,
                                    GIMP_PDB_IMAGE, image_ID,
                                    GIMP_PDB_END);
91

92 93
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

94
  gimp_destroy_params (return_vals, nreturn_vals);
95 96

  return success;
97 98
}

99
/**
100
 * gimp_image_convert_indexed:
101
 * @image_ID: The image.
102
 * @dither_type: The dither type to use.
103
 * @palette_type: The type of palette to use.
104
 * @num_cols: The number of colors to quantize to, ignored unless (palette_type == GIMP_CONVERT_PALETTE_GENERATE).
105
 * @alpha_dither: Dither transparency to fake partial opacity.
106 107
 * @remove_unused: Remove unused or duplicate color entries from final palette, ignored if (palette_type == GIMP_CONVERT_PALETTE_GENERATE).
 * @palette: The name of the custom palette to use, ignored unless (palette_type == GIMP_CONVERT_PALETTE_CUSTOM).
108 109 110 111
 *
 * Convert specified image to and Indexed image
 *
 * This procedure converts the specified image to 'indexed' color. This
112
 * process requires an image in RGB or Grayscale mode. The
113 114 115 116 117 118 119 120 121 122 123
 * 'palette_type' specifies what kind of palette to use, A type of '0'
 * means to use an optimal palette of 'num_cols' generated from the
 * colors in the image. A type of '1' means to re-use the previous
 * palette (not currently implemented). A type of '2' means to use the
 * so-called WWW-optimized palette. Type '3' means to use only black
 * and white colors. A type of '4' means to use a palette from the gimp
 * palettes directories. The 'dither type' specifies what kind of
 * dithering to use. '0' means no dithering, '1' means standard
 * Floyd-Steinberg error diffusion, '2' means Floyd-Steinberg error
 * diffusion with reduced bleeding, '3' means dithering based on pixel
 * location ('Fixed' dithering).
124 125
 *
 * Returns: TRUE on success.
126
 **/
127
gboolean
128
gimp_image_convert_indexed (gint32                  image_ID,
129 130 131 132 133 134
                            GimpConvertDitherType   dither_type,
                            GimpConvertPaletteType  palette_type,
                            gint                    num_cols,
                            gboolean                alpha_dither,
                            gboolean                remove_unused,
                            const gchar            *palette)
135
{
136
  GimpParam *return_vals;
137
  gint nreturn_vals;
138
  gboolean success = TRUE;
139

140
  return_vals = gimp_run_procedure ("gimp-image-convert-indexed",
141 142 143 144 145 146 147 148 149
                                    &nreturn_vals,
                                    GIMP_PDB_IMAGE, image_ID,
                                    GIMP_PDB_INT32, dither_type,
                                    GIMP_PDB_INT32, palette_type,
                                    GIMP_PDB_INT32, num_cols,
                                    GIMP_PDB_INT32, alpha_dither,
                                    GIMP_PDB_INT32, remove_unused,
                                    GIMP_PDB_STRING, palette,
                                    GIMP_PDB_END);
150

151 152
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

153
  gimp_destroy_params (return_vals, nreturn_vals);
154 155

  return success;
156
}
157 158 159 160 161 162 163 164 165 166 167 168 169 170

/**
 * gimp_image_convert_set_dither_matrix:
 * @width: Width of the matrix (0 to reset to default matrix).
 * @height: Height of the matrix (0 to reset to default matrix).
 * @matrix_length: The length of 'matrix'.
 * @matrix: The matrix -- all values must be >= 1.
 *
 * Set dither matrix for conversion to indexed
 *
 * This procedure sets the dither matrix used when converting images to
 * INDEXED mode with positional dithering.
 *
 * Returns: TRUE on success.
171
 *
172
 * Since: 2.4
173
 **/
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
gboolean
gimp_image_convert_set_dither_matrix (gint          width,
                                      gint          height,
                                      gint          matrix_length,
                                      const guint8 *matrix)
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

  return_vals = gimp_run_procedure ("gimp-image-convert-set-dither-matrix",
                                    &nreturn_vals,
                                    GIMP_PDB_INT32, width,
                                    GIMP_PDB_INT32, height,
                                    GIMP_PDB_INT32, matrix_length,
                                    GIMP_PDB_INT8ARRAY, matrix,
                                    GIMP_PDB_END);

  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

  gimp_destroy_params (return_vals, nreturn_vals);

  return success;
}
198 199 200 201 202 203 204 205 206 207 208 209 210 211

/**
 * gimp_image_convert_precision:
 * @image_ID: The image.
 * @precision: The new precision.
 *
 * Convert the image to the specified precision
 *
 * This procedure converts the image to the specified precision. Note
 * that indexed images cannot be converted and are always in
 * GIMP_PRECISION_U8.
 *
 * Returns: TRUE on success.
 *
212
 * Since: 2.10
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
 **/
gboolean
gimp_image_convert_precision (gint32        image_ID,
                              GimpPrecision precision)
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

  return_vals = gimp_run_procedure ("gimp-image-convert-precision",
                                    &nreturn_vals,
                                    GIMP_PDB_IMAGE, image_ID,
                                    GIMP_PDB_INT32, precision,
                                    GIMP_PDB_END);

  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

  gimp_destroy_params (return_vals, nreturn_vals);

  return success;
}