| gd.c | |
| Error Handling | |
| gdSetErrorMethod | |
| gdClearErrorMethod | |
| Creation and Destruction | |
| gdImageCreate | gdImageCreate is called to create palette-based images, with no more than 256 colors. | 
| gdImageCreateTrueColor | gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. | 
| gdImageDestroy | gdImageDestroy is used to free the memory associated with an image. | 
| Color | |
| gdImageColorClosest | Gets the closest color of the image | 
| gdImageColorClosestAlpha | Gets the closest color of the image | 
| gdImageColorClosestHWB | |
| gdImageColorExact | Gets the exact color of the image | 
| gdImageColorExactAlpha | Gets the exact color of the image | 
| gdImageColorAllocate | Allocates a color | 
| gdImageColorAllocateAlpha | Allocates a color | 
| gdImageColorResolve | gdImageColorResolve is an alternative for the code fragment | 
| gdImageColorResolveAlpha | |
| gdImageColorDeallocate | Removes a palette entry | 
| gdImageColorTransparent | Sets the transparent color of the image | 
| gdImagePaletteCopy | |
| gdImageColorReplace | |
| gdImageColorReplaceThreshold | |
| gdImageColorReplaceArray | |
| gdImageColorReplaceCallback | |
| Pixels | |
| gdImageSetPixel | |
| gdImageGetPixel | Gets a pixel color as stored in the image. | 
| gdImageGetTrueColorPixel | Gets a pixel color always as truecolor value. | 
| Primitives | |
| gdImageAABlend | NO-OP, kept for library compatibility. | 
| gdImageLine | Bresenham as presented in Foley & Van Dam. | 
| gdImageDashedLine | |
| gdImageBoundsSafe | |
| gdImageChar | Draws a single character. | 
| gdImageCharUp | |
| gdImageString | Draws a character string. | 
| gdImageStringUp | |
| gdImageString16 | |
| gdImageStringUp16 | |
| gdImageArc | |
| gdImageFilledArc | |
| gdImageEllipse | |
| gdImageFilledEllipse | |
| gdImageFillToBorder | |
| gdImageFill | |
| gdImageRectangle | Draws a rectangle. | 
| gdImageFilledRectangle | |
| Cloning and Copying | |
| gdImageClone | Clones an image | 
| gdImageCopy | Copy an area of an image to another image | 
| gdImageCopyMerge | Copy an area of an image to another image ignoring alpha | 
| gdImageCopyMergeGray | Copy an area of an image to another image ignoring alpha | 
| gdImageCopyResized | Copy a resized area from an image to another image | 
| gdImageCopyRotated | Copy a rotated area from an image to another image | 
| gdImageCopyResampled | Copy a resampled area from an image to another image | 
| Polygons | |
| gdImagePolygon | Draws a closed polygon | 
| gdImageOpenPolygon | Draws an open polygon | 
| gdImageFilledPolygon | Draws a filled polygon | 
| other | |
| gdImageSetStyle | Sets the style for following drawing operations | 
| gdImageSetThickness | Sets the thickness for following drawing operations | 
| gdImageSetBrush | Sets the brush for following drawing operations | 
| gdImageSetTile | |
| gdImageSetAntiAliased | Set the color for subsequent anti-aliased drawing | 
| gdImageSetAntiAliasedDontBlend | Set the color and “dont_blend” color for subsequent anti-aliased drawing | 
| gdImageInterlace | Sets whether an image is interlaced | 
| gdImageCompare | Compare two images | 
| gdAlphaBlend | Blend two colors | 
| gdLayerOverlay | Overlay two colors | 
| gdLayerMultiply | Overlay two colors with multiply effect | 
| gdImageAlphaBlending | Set the effect for subsequent drawing operations | 
| gdImageSaveAlpha | Sets the save alpha flag | 
| gdImageSetClip | Sets the clipping rectangle | 
| gdImageGetClip | Gets the current clipping rectangle | 
| gdImageSetResolution | Sets the resolution of an image. | 
| gdImagePaletteToTrueColor | Convert a palette image to true color | 
gdImagePtr gdImageCreate ( int sx, int sy ) 
gdImageCreate is called to create palette-based images, with no more than 256 colors. The image must eventually be destroyed using gdImageDestroy().
| sx | The image width. | 
| sy | The image height. | 
A pointer to the new image or NULL if an error occurred.
gdImagePtr im; im = gdImageCreate(64, 64); // ... Use the image ... gdImageDestroy(im);
gdImagePtr gdImageCreateTrueColor ( int sx, int sy ) 
gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. Invoke gdImageCreateTrueColor with the x and y dimensions of the desired image. gdImageCreateTrueColor returns a gdImagePtr to the new image, or NULL if unable to allocate the image. The image must eventually be destroyed using <gdImageDestroy>().
Truecolor images are always filled with black at creation time. There is no concept of a “background” color index.
| sx | The image width. | 
| sy | The image height. | 
A pointer to the new image or NULL if an error occurred.
gdImagePtr im; im = gdImageCreateTrueColor(64, 64); // ... Use the image ... gdImageDestroy(im);
void gdImageDestroy ( gdImagePtr im ) 
gdImageDestroy is used to free the memory associated with an image. It is important to invoke gdImageDestroy before exiting your program or assigning a new image to a gdImagePtr variable.
| im | Pointer to the gdImage to delete. | 
Nothing.
gdImagePtr im; im = gdImageCreate(10, 10); // ... Use the image ... // Now destroy it gdImageDestroy(im);
int gdImageColorClosest ( gdImagePtr im, int r, int g, int b ) 
Gets the closest color of the image
This is a simplified variant of gdImageColorClosestAlpha where the alpha channel is always opaque.
| im | The image. | 
| r | The value of the red component. | 
| g | The value of the green component. | 
| b | The value of the blue component. | 
The closest color already available in the palette for palette images; the color value of the given components for truecolor images.
int gdImageColorClosestAlpha ( gdImagePtr im, int r, int g, int b, int a ) 
Gets the closest color of the image
| im | The image. | 
| r | The value of the red component. | 
| g | The value of the green component. | 
| b | The value of the blue component. | 
| a | The value of the alpha component. | 
The closest color already available in the palette for palette images; the color value of the given components for truecolor images.
int gdImageColorExact ( gdImagePtr im, int r, int g, int b ) 
Gets the exact color of the image
This is a simplified variant of gdImageColorExactAlpha where the alpha channel is always opaque.
| im | The image. | 
| r | The value of the red component. | 
| g | The value of the green component. | 
| b | The value of the blue component. | 
The exact color already available in the palette for palette images; if there is no exact color, -1 is returned. For truecolor images the color value of the given components is returned.
int gdImageColorExactAlpha ( gdImagePtr im, int r, int g, int b, int a ) 
Gets the exact color of the image
| im | The image. | 
| r | The value of the red component. | 
| g | The value of the green component. | 
| b | The value of the blue component. | 
| a | The value of the alpha component. | 
The exact color already available in the palette for palette images; if there is no exact color, -1 is returned. For truecolor images the color value of the given components is returned.
int gdImageColorAllocate ( gdImagePtr im, int r, int g, int b ) 
Allocates a color
This is a simplified variant of gdImageColorAllocateAlpha where the alpha channel is always opaque.
| im | The image. | 
| r | The value of the red component. | 
| g | The value of the green component. | 
| b | The value of the blue component. | 
The color value.
int gdImageColorAllocateAlpha ( gdImagePtr im, int r, int g, int b, int a ) 
Allocates a color
This is typically used for palette images, but can be used for truecolor images as well.
| im | The image. | 
| r | The value of the red component. | 
| g | The value of the green component. | 
| b | The value of the blue component. | 
The color value.
int gdImageColorResolve ( gdImagePtr im, int r, int g, int b ) 
gdImageColorResolve is an alternative for the code fragment
if ((color=gdImageColorExact(im,R,G,B)) < 0)
  if ((color=gdImageColorAllocate(im,R,G,B)) < 0)
    color=gdImageColorClosest(im,R,G,B);in a single function. Its advantage is that it is guaranteed to return a color index in one search over the color table.
void gdImageString ( gdImagePtr im, gdFontPtr f, int x, int y, unsigned char * s, int color ) 
Draws a character string.
| im | The image to draw onto. | 
| f | The raster font. | 
| x | The x coordinate of the upper left pixel. | 
| y | The y coordinate of the upper left pixel. | 
| c | The character string. | 
| color | The color. | 
void gdImageRectangle ( gdImagePtr im, int x1, int y1, int x2, int y2, int color ) 
Draws a rectangle.
| im | The image. | 
| x1 | The x-coordinate of one of the corners. | 
| y1 | The y-coordinate of one of the corners. | 
| x2 | The x-coordinate of another corner. | 
| y2 | The y-coordinate of another corner. | 
| color | The color. | 
void gdImageCopy ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h ) 
Copy an area of an image to another image
| dst | The destination image. | 
| src | The source image. | 
| dstX | The x-coordinate of the upper left corner to copy to. | 
| dstY | The y-coordinate of the upper left corner to copy to. | 
| srcX | The x-coordinate of the upper left corner to copy from. | 
| srcY | The y-coordinate of the upper left corner to copy from. | 
| w | The width of the area to copy. | 
| h | The height of the area to copy. | 
void gdImageCopyMerge ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct ) 
Copy an area of an image to another image ignoring alpha
The source area will be copied to the destination are by merging the pixels.
This function is a substitute for real alpha channel operations, so it doesn’t pay attention to the alpha channel.
| dst | The destination image. | 
| src | The source image. | 
| dstX | The x-coordinate of the upper left corner to copy to. | 
| dstY | The y-coordinate of the upper left corner to copy to. | 
| srcX | The x-coordinate of the upper left corner to copy from. | 
| srcY | The y-coordinate of the upper left corner to copy from. | 
| w | The width of the area to copy. | 
| h | The height of the area to copy. | 
| pct | The percentage in range 0..100. | 
void gdImageCopyMergeGray ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct ) 
Copy an area of an image to another image ignoring alpha
The source area will be copied to the grayscaled destination area by merging the pixels.
This function is a substitute for real alpha channel operations, so it doesn’t pay attention to the alpha channel.
| dst | The destination image. | 
| src | The source image. | 
| dstX | The x-coordinate of the upper left corner to copy to. | 
| dstY | The y-coordinate of the upper left corner to copy to. | 
| srcX | The x-coordinate of the upper left corner to copy from. | 
| srcY | The y-coordinate of the upper left corner to copy from. | 
| w | The width of the area to copy. | 
| h | The height of the area to copy. | 
| pct | The percentage of the source color intensity in range 0..100. | 
void gdImageCopyResized ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH ) 
Copy a resized area from an image to another image
If the source and destination area differ in size, the area will be resized using nearest-neighbor interpolation.
| dst | The destination image. | 
| src | The source image. | 
| dstX | The x-coordinate of the upper left corner to copy to. | 
| dstY | The y-coordinate of the upper left corner to copy to. | 
| srcX | The x-coordinate of the upper left corner to copy from. | 
| srcY | The y-coordinate of the upper left corner to copy from. | 
| dstW | The width of the area to copy to. | 
| dstH | The height of the area to copy to. | 
| srcW | The width of the area to copy from. | 
| srcH | The height of the area to copy from. | 
void gdImageCopyRotated ( gdImagePtr dst, gdImagePtr src, double dstX, double dstY, int srcX, int srcY, int srcWidth, int srcHeight, int angle ) 
Copy a rotated area from an image to another image
The area is counter-clockwise rotated using nearest-neighbor interpolation.
| dst | The destination image. | 
| src | The source image. | 
| dstX | The x-coordinate of the center of the area to copy to. | 
| dstY | The y-coordinate of the center of the area to copy to. | 
| srcX | The x-coordinate of the upper left corner to copy from. | 
| srcY | The y-coordinate of the upper left corner to copy from. | 
| srcW | The width of the area to copy from. | 
| srcH | The height of the area to copy from. | 
| angle | The angle in degrees. | 
void gdImageCopyResampled ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH ) 
Copy a resampled area from an image to another image
If the source and destination area differ in size, the area will be resized using bilinear interpolation for truecolor images, and nearest-neighbor interpolation for palette images.
| dst | The destination image. | 
| src | The source image. | 
| dstX | The x-coordinate of the upper left corner to copy to. | 
| dstY | The y-coordinate of the upper left corner to copy to. | 
| srcX | The x-coordinate of the upper left corner to copy from. | 
| srcY | The y-coordinate of the upper left corner to copy from. | 
| dstW | The width of the area to copy to. | 
| dstH | The height of the area to copy to. | 
| srcW | The width of the area to copy from. | 
| srcH | The height of the area to copy from. | 
void gdImagePolygon ( gdImagePtr im, gdPointPtr p, int n, int c ) 
Draws a closed polygon
| im | The image. | 
| p | The vertices as array of gdPoints. | 
| n | The number of vertices. | 
| c | The color. | 
void gdImageOpenPolygon ( gdImagePtr im, gdPointPtr p, int n, int c ) 
Draws an open polygon
| im | The image. | 
| p | The vertices as array of gdPoints. | 
| n | The number of vertices. | 
| c | The color | 
void gdImageFilledPolygon ( gdImagePtr im, gdPointPtr p, int n, int c ) 
Draws a filled polygon
The polygon is filled using the even-odd fillrule what can leave unfilled regions inside of self-intersecting polygons. This behavior might change in a future version.
| im | The image. | 
| p | The vertices as array of gdPoints. | 
| n | The number of vertices. | 
| c | The color | 
void gdImageSetAntiAliased ( gdImagePtr im, int c ) 
Set the color for subsequent anti-aliased drawing
If gdAntiAliased is passed as color to drawing operations that support anti-aliased drawing (such as gdImageLine and gdImagePolygon), the actual color to be used can be set with this function.
gdImageSetAntiAliased(im, gdTrueColorAlpha(0, 0, gdBlueMax, gdAlphaOpaque)); gdImageLine(im, 10,10, 20,20, gdAntiAliased);
| im | The image. | 
| c | The color. | 
void gdImageSetAntiAliasedDontBlend ( gdImagePtr im, int c, int dont_blend ) 
Set the color and “dont_blend” color for subsequent anti-aliased drawing
This extended variant of gdImageSetAntiAliased allows to also specify a (background) color that will not be blended in anti-aliased drawing operations.
| im | The image. | 
| c | The color. | 
| dont_blend | Whether to blend. | 
int gdImageCompare ( gdImagePtr im1, gdImagePtr im2 ) 
Compare two images
| im1 | An image. | 
| im2 | Another image. | 
A bitmask of Image Comparison flags where each set flag signals which attributes of the images are different.
void gdImageSetClip ( gdImagePtr im, int x1, int y1, int x2, int y2 ) 
Sets the clipping rectangle
The clipping rectangle restricts the drawing area for following drawing operations.
| im | The image. | 
| x1 | The x-coordinate of the upper left corner. | 
| y1 | The y-coordinate of the upper left corner. | 
| x2 | The x-coordinate of the lower right corner. | 
| y2 | The y-coordinate of the lower right corner. | 
void gdImageGetClip ( gdImagePtr im, int * x1P, int * y1P, int * x2P, int * y2P ) 
Gets the current clipping rectangle
| im | The image. | 
| x1P | (out) The x-coordinate of the upper left corner. | 
| y1P | (out) The y-coordinate of the upper left corner. | 
| x2P | (out) The x-coordinate of the lower right corner. | 
| y2P | (out) The y-coordinate of the lower right corner. | 
void gdSetErrorMethod( gdErrorMethod error_method ) 
void gdClearErrorMethod( void ) 
gdImageCreate is called to create palette-based images, with no more than 256 colors.
gdImagePtr gdImageCreate ( int sx, int sy ) 
gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors.
gdImagePtr gdImageCreateTrueColor ( int sx, int sy ) 
gdImageDestroy is used to free the memory associated with an image.
void gdImageDestroy ( gdImagePtr im ) 
Gets the closest color of the image
int gdImageColorClosest ( gdImagePtr im, int r, int g, int b ) 
Gets the closest color of the image
int gdImageColorClosestAlpha ( gdImagePtr im, int r, int g, int b, int a ) 
int gdImageColorClosestHWB ( gdImagePtr im, int r, int g, int b ) 
Gets the exact color of the image
int gdImageColorExact ( gdImagePtr im, int r, int g, int b ) 
Gets the exact color of the image
int gdImageColorExactAlpha ( gdImagePtr im, int r, int g, int b, int a ) 
Allocates a color
int gdImageColorAllocate ( gdImagePtr im, int r, int g, int b ) 
Allocates a color
int gdImageColorAllocateAlpha ( gdImagePtr im, int r, int g, int b, int a ) 
gdImageColorResolve is an alternative for the code fragment
int gdImageColorResolve ( gdImagePtr im, int r, int g, int b ) 
int gdImageColorResolveAlpha ( gdImagePtr im, int r, int g, int b, int a ) 
Removes a palette entry
void gdImageColorDeallocate ( gdImagePtr im, int color ) 
Sets the transparent color of the image
void gdImageColorTransparent ( gdImagePtr im, int color ) 
void gdImagePaletteCopy ( gdImagePtr to, gdImagePtr from ) 
int gdImageColorReplace ( gdImagePtr im, int src, int dst ) 
int gdImageColorReplaceThreshold ( gdImagePtr im, int src, int dst, float threshold ) 
int gdImageColorReplaceArray ( gdImagePtr im, int len, int * src, int * dst ) 
int gdImageColorReplaceCallback ( gdImagePtr im, gdCallbackImageColor callback ) 
void gdImageSetPixel ( gdImagePtr im, int x, int y, int color ) 
Gets a pixel color as stored in the image.
int gdImageGetPixel ( gdImagePtr im, int x, int y ) 
Gets a pixel color always as truecolor value.
int gdImageGetTrueColorPixel ( gdImagePtr im, int x, int y ) 
NO-OP, kept for library compatibility.
void gdImageAABlend ( gdImagePtr im ) 
Bresenham as presented in Foley & Van Dam.
void gdImageLine ( gdImagePtr im, int x1, int y1, int x2, int y2, int color ) 
void gdImageDashedLine ( gdImagePtr im, int x1, int y1, int x2, int y2, int color ) 
int gdImageBoundsSafe ( gdImagePtr im, int x, int y ) 
Draws a single character.
void gdImageChar ( gdImagePtr im, gdFontPtr f, int x, int y, int c, int color ) 
void gdImageCharUp ( gdImagePtr im, gdFontPtr f, int x, int y, int c, int color ) 
Draws a character string.
void gdImageString ( gdImagePtr im, gdFontPtr f, int x, int y, unsigned char * s, int color ) 
void gdImageStringUp ( gdImagePtr im, gdFontPtr f, int x, int y, unsigned char * s, int color ) 
void gdImageString16 ( gdImagePtr im, gdFontPtr f, int x, int y, unsigned short * s, int color ) 
void gdImageStringUp16 ( gdImagePtr im, gdFontPtr f, int x, int y, unsigned short * s, int color ) 
void gdImageArc ( gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color ) 
void gdImageFilledArc ( gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color, int style ) 
void gdImageEllipse( gdImagePtr im, int mx, int my, int w, int h, int c ) 
void gdImageFilledEllipse ( gdImagePtr im, int mx, int my, int w, int h, int c ) 
void gdImageFillToBorder ( gdImagePtr im, int x, int y, int border, int color ) 
void gdImageFill( gdImagePtr im, int x, int y, int nc ) 
Draws a rectangle.
void gdImageRectangle ( gdImagePtr im, int x1, int y1, int x2, int y2, int color ) 
void gdImageFilledRectangle ( gdImagePtr im, int x1, int y1, int x2, int y2, int color ) 
Clones an image
gdImagePtr gdImageClone ( gdImagePtr src ) 
Copy an area of an image to another image
void gdImageCopy ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h ) 
Copy an area of an image to another image ignoring alpha
void gdImageCopyMerge ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct ) 
Copy an area of an image to another image ignoring alpha
void gdImageCopyMergeGray ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct ) 
Copy a resized area from an image to another image
void gdImageCopyResized ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH ) 
Copy a rotated area from an image to another image
void gdImageCopyRotated ( gdImagePtr dst, gdImagePtr src, double dstX, double dstY, int srcX, int srcY, int srcWidth, int srcHeight, int angle ) 
Copy a resampled area from an image to another image
void gdImageCopyResampled ( gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH ) 
Draws a closed polygon
void gdImagePolygon ( gdImagePtr im, gdPointPtr p, int n, int c ) 
Draws an open polygon
void gdImageOpenPolygon ( gdImagePtr im, gdPointPtr p, int n, int c ) 
Draws a filled polygon
void gdImageFilledPolygon ( gdImagePtr im, gdPointPtr p, int n, int c ) 
Sets the style for following drawing operations
void gdImageSetStyle ( gdImagePtr im, int * style, int noOfPixels ) 
Sets the thickness for following drawing operations
void gdImageSetThickness ( gdImagePtr im, int thickness ) 
Sets the brush for following drawing operations
void gdImageSetBrush ( gdImagePtr im, gdImagePtr brush ) 
void gdImageSetTile ( gdImagePtr im, gdImagePtr tile ) 
Set the color for subsequent anti-aliased drawing
void gdImageSetAntiAliased ( gdImagePtr im, int c ) 
Set the color and “dont_blend” color for subsequent anti-aliased drawing
void gdImageSetAntiAliasedDontBlend ( gdImagePtr im, int c, int dont_blend ) 
Sets whether an image is interlaced
void gdImageInterlace ( gdImagePtr im, int interlaceArg ) 
Compare two images
int gdImageCompare ( gdImagePtr im1, gdImagePtr im2 ) 
Blend two colors
int gdAlphaBlend ( int dst, int src ) 
Overlay two colors
int gdLayerOverlay ( int dst, int src ) 
Overlay two colors with multiply effect
int gdLayerMultiply ( int dst, int src ) 
Set the effect for subsequent drawing operations
void gdImageAlphaBlending ( gdImagePtr im, int alphaBlendingArg ) 
Sets the save alpha flag
void gdImageSaveAlpha ( gdImagePtr im, int saveAlphaArg ) 
Sets the clipping rectangle
void gdImageSetClip ( gdImagePtr im, int x1, int y1, int x2, int y2 ) 
Gets the current clipping rectangle
void gdImageGetClip ( gdImagePtr im, int * x1P, int * y1P, int * x2P, int * y2P ) 
Sets the resolution of an image.
void gdImageSetResolution( gdImagePtr im, const unsigned int res_x, const unsigned int res_y ) 
Convert a palette image to true color
int gdImagePaletteToTrueColor( gdImagePtr src ) 
Alias of gdImageStringFT.
char * gdImageStringTTF ( gdImage * im, int * brect, int fg, const char * fontlist, double ptsize, double angle, int x, int y, const char * string ) 
Scale an image
gdImagePtr gdImageScale( const gdImagePtr src, const unsigned int new_width, const unsigned int new_height ) 
Rotate an image
gdImagePtr gdImageRotateInterpolated( const gdImagePtr src, const float angle, int bgcolor ) 
Converts a truecolor image to a palette image
int gdImageTrueColorToPalette ( gdImagePtr im, int dither, int colorsWanted )