texlive[57607] Build/source/libs: libgd 2.3.1

commits+kakuto at tug.org commits+kakuto at tug.org
Wed Feb 3 07:51:32 CET 2021


Revision: 57607
          http://tug.org/svn/texlive?view=revision&revision=57607
Author:   kakuto
Date:     2021-02-03 07:51:32 +0100 (Wed, 03 Feb 2021)
Log Message:
-----------
libgd 2.3.1

Modified Paths:
--------------
    trunk/Build/source/libs/README
    trunk/Build/source/libs/gd/ChangeLog
    trunk/Build/source/libs/gd/README
    trunk/Build/source/libs/gd/TLpatches/ChangeLog
    trunk/Build/source/libs/gd/TLpatches/TL-Changes
    trunk/Build/source/libs/gd/TLpatches/patch-01-win32
    trunk/Build/source/libs/gd/TLpatches/patch-02-no-stdcall
    trunk/Build/source/libs/gd/configure
    trunk/Build/source/libs/gd/libgd-src/CHANGELOG.md
    trunk/Build/source/libs/gd/libgd-src/CMakeLists.txt
    trunk/Build/source/libs/gd/libgd-src/README.md
    trunk/Build/source/libs/gd/libgd-src/VMS/README.VMS
    trunk/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake
    trunk/Build/source/libs/gd/libgd-src/config/Makefile.am
    trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake
    trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.in
    trunk/Build/source/libs/gd/libgd-src/configure.ac
    trunk/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
    trunk/Build/source/libs/gd/libgd-src/src/config.h.cmake
    trunk/Build/source/libs/gd/libgd-src/src/gd.c
    trunk/Build/source/libs/gd/libgd-src/src/gd.h
    trunk/Build/source/libs/gd/libgd-src/src/gd_bmp.c
    trunk/Build/source/libs/gd/libgd-src/src/gd_crop.c
    trunk/Build/source/libs/gd/libgd-src/src/gd_interpolation.c
    trunk/Build/source/libs/gd/libgd-src/src/gd_io.c
    trunk/Build/source/libs/gd/libgd-src/src/gd_io.h
    trunk/Build/source/libs/gd/libgd-src/src/gd_nnquant.c
    trunk/Build/source/libs/gd/libgd-src/src/gdft.c
    trunk/Build/source/libs/gd/libgd-src/tests/gdimagefile/CMakeLists.txt
    trunk/Build/source/libs/gd/libgd-src/tests/gdimageline/gdimageline_bug5.c
    trunk/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/Makemodule.am
    trunk/Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16.c
    trunk/Build/source/libs/gd/libgd-src/tests/gdimagestringft/CMakeLists.txt
    trunk/Build/source/libs/gd/libgd-src/tests/gdimagestringft/Makemodule.am
    trunk/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16.c
    trunk/Build/source/libs/gd/libgd-src/tests/gdtest/CMakeLists.txt
    trunk/Build/source/libs/gd/libgd-src/tests/webp/CMakeLists.txt
    trunk/Build/source/libs/gd/libgd-src/tests/webp/Makemodule.am
    trunk/Build/source/libs/gd/version.ac

Added Paths:
-----------
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_png-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_ss-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tga-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tiff-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_topal-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_transform-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_version-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_wbmp-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_webp-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_xbm-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontg-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontl-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontmb-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfonts-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontt-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdft-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfx-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdhelpers-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdxpm-c.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/license-txt.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/preamble-txt.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/edge_detect_quick.jpg
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/emboss.jpg
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/mean_removal.jpg
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/smooth.jpg
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Constants.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Files.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Functions.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General2.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General3.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Macros.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Types.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/main.js
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/prettify.js
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/searchdata.js
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsG.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsS.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesB.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesC.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesF.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesG.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesI.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesJ.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesL.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesM.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesP.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesS.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesT.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesW.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesX.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FunctionsG.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralA.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralB.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralC.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralE.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralF.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralG.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralI.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralJ.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralL.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralM.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralNumbers.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralO.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralP.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralS.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralT.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralW.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralX.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/MacrosG.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/NoResults.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/TypesG.html
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/1.css
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/2.css
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/main.css
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ClassHierarchy.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ConfigFileInfo.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/FileInfo.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageFileInfo.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageReferenceTable.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/IndexInfo.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousMenuState.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousSettings.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/SymbolTable.nd
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt
    trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/CMakeDirectoryInformation.cmake
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/DependInfo.cmake
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/build.make
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/cmake_clean.cmake
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/depend.make
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/flags.make
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/link.txt
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/gif.dir/progress.make
    trunk/Build/source/libs/gd/libgd-src/examples/CMakeFiles/progress.marks
    trunk/Build/source/libs/gd/libgd-src/examples/Makefile
    trunk/Build/source/libs/gd/libgd-src/examples/cmake_install.cmake
    trunk/Build/source/libs/gd/libgd-src/tests/gdimagestringft/bug00615.c

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/README	2021-02-03 06:51:32 UTC (rev 57607)
@@ -15,7 +15,7 @@
 freetype2 2.10.4 - checked 21oct20
   http://savannah.nongnu.org/download/freetype/
 
-gd 2.3.0 - checked 10apr20
+gd 2.3.1 - checked 03feb21
   https://github.com/libgd/libgd/releases
 
 gmp 6.2.1 - checked 15nov20

Modified: trunk/Build/source/libs/gd/ChangeLog
===================================================================
--- trunk/Build/source/libs/gd/ChangeLog	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/ChangeLog	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,3 +1,8 @@
+2021-02-03  Akira Kakuto  <kakuto at w32tex.org>
+
+	Import libgd-2.3.1.
+	* version.ac: Adapted.
+
 2020-04-10  Akira Kakuto  <kakuto at w32tex.org>
 
 	Import libgd-2.3.0.

Modified: trunk/Build/source/libs/gd/README
===================================================================
--- trunk/Build/source/libs/gd/README	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/README	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,4 +1,4 @@
-	Building libgd-2.3.0 as part of the TL tree
+	Building libgd-2.3.1 as part of the TL tree
 	=========================================
 
 This directory libs/gd/ uses a proxy Makefile.am to build the gd library
@@ -11,4 +11,4 @@
 =============================
 
 2013-06-26	Peter Breitenlohner <peb at mppmu.mpg.de>
-2020-04-10	Akira Kakuto <kakuto at w32tex.org>
+2021-02-03	Akira Kakuto <kakuto at w32tex.org>

Modified: trunk/Build/source/libs/gd/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/gd/TLpatches/ChangeLog	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/TLpatches/ChangeLog	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,3 +1,10 @@
+2021-02-03  Akira Kakuto  <kakuto at w32tex.org>
+
+	Import libgd-2.3.1 source tree from:
+	  https://github.com/libgd/libgd/releases
+	* patch-01-win32: Adapted.
+	* patch-02-no-stdcall: Adapted.
+
 2020-04-10  Akira Kakuto  <kakuto at w32tex.org>
 
 	Import libgd-2.3.0 source tree from:

Modified: trunk/Build/source/libs/gd/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/gd/TLpatches/TL-Changes	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/TLpatches/TL-Changes	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,4 +1,4 @@
-Changes applied to the libgd-2.3.0/ tree as obtained from:
+Changes applied to the libgd-2.3.1/ tree as obtained from:
 	https://github.com/libgd/libgd/releases
 
 Removed:
@@ -11,6 +11,7 @@
 	config/config.rpath
 	config/config.sub
 	config/depcomp
+	config/getlib.sh
 	config/install-sh
 	config/ltmain.sh
 	config/missing
@@ -27,4 +28,3 @@
 Removed execute permission:
 	windows/libgd.rc
 	windows/msys/deps.mk
-

Modified: trunk/Build/source/libs/gd/TLpatches/patch-01-win32
===================================================================
--- trunk/Build/source/libs/gd/TLpatches/patch-01-win32	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/TLpatches/patch-01-win32	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,12 +1,8 @@
-diff -ur libgd-2.3.0/src/gd_interpolation.c libgd-src/src/gd_interpolation.c
---- libgd-2.3.0/src/gd_interpolation.c	Sun Mar 22 22:42:38 2020
-+++ libgd-src/src/gd_interpolation.c	Mon Mar 30 07:00:26 2020
-@@ -1988,19 +1988,19 @@
- static int getPixelRgbInterpolated(gdImagePtr im, const int tcolor)
- {
- 	unsigned char r, g, b, a;
--	int ct;
-+	int ct, i;
+diff -ur libgd-2.3.1/src/gd_interpolation.c libgd-src/src/gd_interpolation.c
+--- libgd-2.3.1/src/gd_interpolation.c	Sat Jan 30 18:30:01 2021
++++ libgd-src/src/gd_interpolation.c	Wed Feb 03 14:56:52 2021
+@@ -1992,9 +1992,9 @@
+ 	int i;
  
  	b = (unsigned char)tcolor;
 -	g = (unsigned char)tcolor >> 8;
@@ -18,19 +14,33 @@
  
  	b = CLAMP(b, 0, 255);
  	g = CLAMP(g, 0, 255);
- 	r = CLAMP(r, 0, 255);
- 	a = CLAMP(a, 0, 127);
+diff -ur libgd-2.3.1/src/gdft.c libgd-src/src/gdft.c
+--- libgd-2.3.1/src/gdft.c	Sat Jan 30 18:30:01 2021
++++ libgd-src/src/gdft.c	Wed Feb 03 15:26:58 2021
+@@ -446,6 +446,11 @@
+ 		FT_Face face, gdFTStringExtraPtr strex,
+ 		glyphInfo **glyph_info)
+ {
++#ifndef HAVE_LIBRAQM
++	FT_UInt glyph_index = 0, previous = 0;
++	FT_Vector delta;
++	FT_Error err;
++#endif
+ 	size_t count;
+ 	glyphInfo *info;
  
--	for (int i = 0; i < im->colorsTotal; i++) {
-+	for (i = 0; i < im->colorsTotal; i++) {
- 	    if (im->red[i] == r && im->green[i] == g && im->blue[i] == b && im->alpha[i] == a) {
- 			return i;
+@@ -488,9 +493,6 @@
+ 
+ 	raqm_destroy (rq);
+ #else
+-	FT_UInt glyph_index = 0, previous = 0;
+-	FT_Vector delta;
+-	FT_Error err;
+ 	info = (glyphInfo*) gdMalloc (sizeof (glyphInfo) * len);
+ 	if (!info) {
+ 		return -1;
+@@ -1523,6 +1525,8 @@
  		}
-diff -ur libgd-2.3.0/src/gdft.c libgd-src/src/gdft.c
---- libgd-2.3.0/src/gdft.c	Sun Mar 22 22:42:38 2020
-+++ libgd-src/src/gdft.c	Mon Mar 30 07:01:24 2020
-@@ -1519,6 +1519,8 @@
- 		}
  
  		if (render) {
 +			FT_Pos pen_x;
@@ -38,7 +48,7 @@
  			FT_Activate_Size (platform_specific);
  
  			/* load glyph again into the slot (erase previous one)  - this time with scaling */
-@@ -1552,8 +1554,8 @@
+@@ -1556,8 +1560,8 @@
  			bm = (FT_BitmapGlyph) image;
  			/* position rounded down to nearest pixel at current dpi
  			(the estimate was rounded up to next 1/METRIC_RES, so this should fit) */
@@ -49,7 +59,7 @@
  			gdft_draw_bitmap (tc_cache, im, fg, bm->bitmap,
  					  (int)(x + (pen_x * cos_a + pen_y * sin_a)*hdpi/(METRIC_RES*64) + bm->left),
  					  (int)(y - (pen_x * sin_a - pen_y * cos_a)*vdpi/(METRIC_RES*64) - bm->top));
-@@ -1787,6 +1789,16 @@
+@@ -1793,6 +1797,16 @@
  	 */
  	*fontpath = NULL;
  	fontsearchpath = getenv ("GDFONTPATH");

Modified: trunk/Build/source/libs/gd/TLpatches/patch-02-no-stdcall
===================================================================
--- trunk/Build/source/libs/gd/TLpatches/patch-02-no-stdcall	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/TLpatches/patch-02-no-stdcall	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,6 +1,6 @@
-diff -ur libgd-2.3.0/src/gd.h libgd-src/src/gd.h
---- libgd-2.3.0/src/gd.h	Sun Mar 22 22:42:41 2020
-+++ libgd-src/src/gd.h	Mon Mar 30 07:02:16 2020
+diff -ur libgd-2.3.1/src/gd.h libgd-src/src/gd.h
+--- libgd-2.3.1/src/gd.h	Sat Jan 30 18:40:10 2021
++++ libgd-src/src/gd.h	Wed Feb 03 14:52:34 2021
 @@ -63,7 +63,7 @@
  #   define BGD_EXPORT_DATA_PROT __declspec(dllimport)
  #  endif

Modified: trunk/Build/source/libs/gd/configure
===================================================================
--- trunk/Build/source/libs/gd/configure	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/configure	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gd (TeX Live) 2.3.0.
+# Generated by GNU Autoconf 2.69 for gd (TeX Live) 2.3.1.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='gd (TeX Live)'
 PACKAGE_TARNAME='gd--tex-live-'
-PACKAGE_VERSION='2.3.0'
-PACKAGE_STRING='gd (TeX Live) 2.3.0'
+PACKAGE_VERSION='2.3.1'
+PACKAGE_STRING='gd (TeX Live) 2.3.1'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1306,7 +1306,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gd (TeX Live) 2.3.0 to adapt to many kinds of systems.
+\`configure' configures gd (TeX Live) 2.3.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1376,7 +1376,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gd (TeX Live) 2.3.0:";;
+     short | recursive ) echo "Configuration of gd (TeX Live) 2.3.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1485,7 +1485,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gd (TeX Live) configure 2.3.0
+gd (TeX Live) configure 2.3.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1908,7 +1908,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gd (TeX Live) $as_me 2.3.0, which was
+It was created by gd (TeX Live) $as_me 2.3.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3827,7 +3827,7 @@
 
 # Define the identity of the package.
  PACKAGE='gd--tex-live-'
- VERSION='2.3.0'
+ VERSION='2.3.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6666,7 +6666,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gd (TeX Live) $as_me 2.3.0, which was
+This file was extended by gd (TeX Live) $as_me 2.3.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6732,7 +6732,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gd (TeX Live) config.status 2.3.0
+gd (TeX Live) config.status 2.3.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/gd/libgd-src/CHANGELOG.md
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/CHANGELOG.md	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/CHANGELOG.md	2021-02-03 06:51:32 UTC (rev 57607)
@@ -4,6 +4,34 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/)
 and this project adheres to [Semantic Versioning](http://semver.org/).
 
+## [2.3.1] - 2021-01-30
+
+### Fixed
+
+- Fix potential integer overflow detected by oss-fuzz
+- Fix #615 using libraqm
+- Fix #303: gdlib.pc: use Requires instead of Libs (#537)
+- Fixed #472: Adjusting CMakeLists.txt (#582)
+- Fix #615: gdImageStringFT() fails for empty strings as of libgd 2.3.0 (#633)
+- Fix typo but preserve BC
+- Compute average in gdGuessBackgroundColorFromCorners properly (#483)
+- CMakeLists.txt: zlib is enabled implicitly
+- src/config.h.cmake: replace #cmakedefine01 with #define in macro ENABLE_GD_FOORMATS (#622)
+- gdlib.pc: use prefixes for pkgconfig file
+- cmake: remove required host includes (#617)
+- Move initial declaration out of `for` loop
+- distribute getlib script
+- Make gd_nnquant.c less likely to introduce duplicate definitions (#601)
+- webp: support pkg-config file
+- gd_io: replace internal Putchar with gdPutC
+- gd_io: trim unused Putword function
+
+### Added
+
+- Add REQUIRED to FIND_PACKAGE(ZLIB)
+- README: add some libraries info (#631)
+- VMS/README.VMS: Add dropping support information (#614)
+
 ## [2.3.0] - 2020-03-22
 
 ### Security

Modified: trunk/Build/source/libs/gd/libgd-src/CMakeLists.txt
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/CMakeLists.txt	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/CMakeLists.txt	2021-02-03 06:51:32 UTC (rev 57607)
@@ -51,6 +51,8 @@
   "Single Directory for all static libraries."
   )
 
+SET(PKG_REQUIRES_PRIVATES "")
+
 if (USE_EXT_GD)
 	message("Using GD at: ${USE_EXT_GD}")
 	INCLUDE_DIRECTORIES(BEFORE ${GD_INCLUDE_DIR})
@@ -94,8 +96,6 @@
 	GV_LT(VERSION GDLIB_LIB_VERSION)
 	MESSAGE(STATUS "gd shared lib version ${GDLIB_LIB_SOVERSION} (${GDLIB_LIB_VERSION})")
 
-	SET(CMAKE_REQUIRED_INCLUDES "/usr/include" "/usr/local/include")
-
 	include(CheckIncludeFiles)
 	include(CheckIncludeFile)
 
@@ -102,7 +102,12 @@
 	include(AC_HEADER_STDC)
 	include(CheckPrototypeExists)
 
+	if (ENABLE_GD_FORMATS)
+		FIND_PACKAGE(ZLIB REQUIRED)
+	endif (ENABLE_GD_FORMATS)
+
 	if (ENABLE_PNG)
+		FIND_PACKAGE(ZLIB REQUIRED)
 		FIND_PACKAGE(PNG REQUIRED)
 	endif (ENABLE_PNG)
 
@@ -110,14 +115,12 @@
 		FIND_PACKAGE(ICONV REQUIRED)
 	endif (ENABLE_ICONV)
 
-	FIND_PACKAGE(ZLIB)
-
 	IF (ENABLE_WEBP)
-		FIND_PACKAGE(WEBP)
+		FIND_PACKAGE(WEBP REQUIRED)
 	ENDIF (ENABLE_WEBP)
 
 	IF (ENABLE_LIQ)
-		FIND_PACKAGE(LIQ)
+		FIND_PACKAGE(LIQ REQUIRED)
 	ENDIF (ENABLE_LIQ)
 
 	IF (NOT WIN32)
@@ -125,27 +128,27 @@
 	ENDIF (NOT WIN32)
 
 	if (ENABLE_JPEG)
-		FIND_PACKAGE(JPEG)
+		FIND_PACKAGE(JPEG REQUIRED)
 	endif (ENABLE_JPEG)
 
 	if (ENABLE_TIFF)
-		FIND_PACKAGE(TIFF)
+		FIND_PACKAGE(TIFF REQUIRED)
 	endif (ENABLE_TIFF)
 
 	if (ENABLE_FREETYPE)
-		FIND_PACKAGE(Freetype)
+		FIND_PACKAGE(Freetype REQUIRED)
 	endif (ENABLE_FREETYPE)
 
 	if (ENABLE_XPM)
-		FIND_PACKAGE(XPM)
+		FIND_PACKAGE(XPM REQUIRED)
 	endif (ENABLE_XPM)
 
 	if (ENABLE_FONTCONFIG)
-		FIND_PACKAGE(FontConfig)
+		FIND_PACKAGE(FontConfig REQUIRED)
 	endif (ENABLE_FONTCONFIG)
 
 	if (ENABLE_RAQM)
-		FIND_PACKAGE(RAQM)
+		FIND_PACKAGE(RAQM REQUIRED)
 	endif (ENABLE_RAQM)
 
 	SET(ENABLE_GD_FORMATS ${ENABLE_GD_FORMATS})
@@ -154,11 +157,13 @@
 		INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS})
 		SET(HAVE_FT2BUILD_H 1)
 		SET(HAVE_LIBFREETYPE 1)
+		LIST(APPEND PKG_REQUIRES_PRIVATES freetype2)
 	ENDIF(FREETYPE_FOUND)
 
 	IF(ZLIB_FOUND)
 		INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
 		SET(HAVE_LIBZ 1)
+		LIST(APPEND PKG_REQUIRES_PRIVATES zlib)
 	ENDIF(ZLIB_FOUND)
 
 	IF(WEBP_FOUND)
@@ -169,6 +174,7 @@
 	IF(PNG_FOUND)
 		INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
 		SET(HAVE_LIBPNG 1)
+		LIST(APPEND PKG_REQUIRES_PRIVATES libpng)
 	ENDIF(PNG_FOUND)
 
 	IF(ICONV_FOUND)
@@ -185,21 +191,25 @@
 	IF(XPM_FOUND)
 		INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR})
 		SET(HAVE_LIBXPM 1)
+		LIST(APPEND PKG_REQUIRES_PRIVATES xpm)
 	ENDIF(XPM_FOUND)
 
 	IF(JPEG_FOUND)
 		INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
 		SET(HAVE_LIBJPEG 1)
+		LIST(APPEND PKG_REQUIRES_PRIVATES libjpeg)
 	ENDIF(JPEG_FOUND)
 
 	IF(TIFF_FOUND)
 		INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
 		SET(HAVE_LIBTIFF 1)
+		LIST(APPEND PKG_REQUIRES_PRIVATES libtiff-4)
 	ENDIF(TIFF_FOUND)
 
 	IF(FONTCONFIG_FOUND)
 		INCLUDE_DIRECTORIES(${FONTCONFIG_INCLUDE_DIR})
 		SET(HAVE_LIBFONTCONFIG 1)
+		LIST(APPEND PKG_REQUIRES_PRIVATES fontconfig)
 	ELSE (FONTCONFIG_FOUND)
 		SET(FONTCONFIG_LIBRARY "")
 		SET(FONTCONFIG_INCLUDE_DIR "")
@@ -208,8 +218,11 @@
 
 	IF(RAQM_FOUND)
 		INCLUDE_DIRECTORIES(${RAQM_INCLUDE_DIR})
+		SET(HAVE_RAQM 1)
+		LIST(APPEND PKG_REQUIRES_PRIVAES raqm)
 	ENDIF(RAQM_FOUND)
 
+	string(REPLACE ";" ", " PKG_REQUIRES_PRIVATES "${PKG_REQUIRES_PRIVATES}")
 	SET(HAVE_CONFIG_H 1)
 
 	ADD_DEFINITIONS(-DHAVE_CONFIG_H)

Modified: trunk/Build/source/libs/gd/libgd-src/README.md
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/README.md	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/README.md	2021-02-03 06:51:32 UTC (rev 57607)
@@ -45,3 +45,12 @@
 * [TIFF](https://en.wikipedia.org/wiki/Tagged_Image_File_Format) via [libtiff](http://www.libtiff.org/)
 * [WebP](https://en.wikipedia.org/wiki/WebP) via [libwebp](https://developers.google.com/speed/webp/)
 * [XPM](https://en.wikipedia.org/wiki/X_PixMap) via [libXpm](http://xorg.freedesktop.org/)
+
+Besides that, GD depends on some external libraries, which are all optional
+and disabled by default:
+
+* [FreeType](https://freetype.org) for rendering fonts
+* [Fontconfig](https://fontconfig.org) for configuring and customizing font access
+* [libraqm](https://github.com/HOST-Oman/libraqm) for complex text layout
+* [libimagequant](https://pngquant.org/lib) for conversion of RGBA images to 8-bit indexed-color images
+  * **NOTE** libimagequant is dual-licensed: GPLv3 and commercial license

Modified: trunk/Build/source/libs/gd/libgd-src/VMS/README.VMS
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/VMS/README.VMS	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/VMS/README.VMS	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,5 +1,13 @@
 Dear OpenVMS user,
 
+**Important**
+
+We will drop support to VMS in version v2.4.0. We never test on VMS,
+and we have no way of doing so. And we haven't had any report on the
+topic in years. Pleas provide feedback if you still need the support.
+
+https://github.com/libgd/libgd/issues/453
+
 Installation process is identical to one in *nix* world and consist to
 four simple steps:
 1. Installing required libraries

Modified: trunk/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake	2021-02-03 06:51:32 UTC (rev 57607)
@@ -28,6 +28,10 @@
   IF (NOT LIQ_FIND_QUIETLY)
     MESSAGE(STATUS "Found LIQ: ${LIQ_LIBRARY} ${LIQ_INCLUDE_DIR}")
   ENDIF (NOT LIQ_FIND_QUIETLY)
+ELSE (LIQ_FOUND)
+  IF (LIQ_FIND_REQUIRED)
+	MESSAGE(FATAL_ERROR "Could not find LIQ library")
+  ENDIF (LIQ_FIND_REQUIRED)
 ENDIF (LIQ_FOUND)
 
 MARK_AS_ADVANCED(LIQ_INCLUDE_DIR LIQ_LIBRARIES LIQ_BUILD)

Modified: trunk/Build/source/libs/gd/libgd-src/config/Makefile.am
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/config/Makefile.am	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/config/Makefile.am	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-
-EXTRA_DIST = gdlib.pc.cmake gdlib.pc.in getver.pl
+EXTRA_DIST = gdlib.pc.cmake gdlib.pc.in getlib.sh getver.pl
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = gdlib.pc

Modified: trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake	2021-02-03 06:51:32 UTC (rev 57607)
@@ -1,9 +1,13 @@
-libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
 
 Name: gd
 Description: GD graphics library
 Version: @GDLIB_VERSION@
+Requires:
+Requires.private: @PKG_REQUIRES_PRIVATES@
 Cflags: -I${includedir}
-Libs.private: @LIBGD_DEP_LIBS@
+Libs.private: @LIBS_PRIVATES@
 Libs: -L${libdir} -lgd

Modified: trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.in
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.in	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/config/gdlib.pc.in	2021-02-03 06:51:32 UTC (rev 57607)
@@ -6,6 +6,8 @@
 Name: gd
 Description: GD graphics library
 Version: @VERSION@
+Requires:
+Requires.private: @PKG_REQUIRES_PRIVATES@
 Cflags: -I${includedir}
-Libs.private: @LIBS@ @LIBICONV@
+Libs.private: @LIBS_PRIVATES@ @LIBICONV@
 Libs: -L${libdir} -lgd

Modified: trunk/Build/source/libs/gd/libgd-src/configure.ac
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/configure.ac	2021-02-03 00:54:23 UTC (rev 57606)
+++ trunk/Build/source/libs/gd/libgd-src/configure.ac	2021-02-03 06:51:32 UTC (rev 57607)
@@ -33,6 +33,9 @@
 AC_SUBST(GDLIB_LT_REVISION)
 AC_SUBST(GDLIB_LT_AGE)
 
+AC_SUBST(LIBS_PRIVATES)
+AC_SUBST(PKG_REQUIRES_PRIVATES)
+
 AM_INIT_AUTOMAKE([1.11 foreign dist-xz -Wall -Werror subdir-objects])
 AC_CONFIG_HEADERS([src/config.h:src/config.hin])
 
@@ -130,6 +133,7 @@
   AC_MSG_RESULT([$gd_with_lib])
 
   gd_found_lib=no
+  gd_require_pkg_name=""
   if test "$gd_with_lib" != "no"; then
     save_CPPFLAGS=$CPPFLAGS
     save_LDFLAGS=$LDFLAGS
@@ -161,6 +165,11 @@
       $1][_CFLAGS="$gd_lib_cflags $][$1][_CFLAGS"
       AS_VAR_APPEND([LIBS], [" $][$1][_LIBS"])
       AS_VAR_APPEND([CPPFLAGS], [" $][$1][_CFLAGS"])
+      if test -z "$gd_require_pkg_name"; then
+        AS_VAR_APPEND([LIBS_PRIVATES], [" $][$1][_LIBS"])
+      else
+        AS_VAR_APPEND([PKG_REQUIRES_PRIVATES], ["  $gd_require_pkg_name"])
+      fi
     elif test "$gd_with_lib" = "yes"; then
       AC_MSG_ERROR([$3 requested but not found])
     else
@@ -180,7 +189,7 @@
 dnl $5 - fallback test for the feature
 m4_define([GD_LIB_PKG_CHECK], [dnl
   GD_LIB_CHECK([$1], [$2], [$3], [dnl
-    PKG_CHECK_MODULES([$1], [$4], [gd_found_lib=yes], [$5])
+    PKG_CHECK_MODULES([$1], [$4], [gd_found_lib=yes gd_require_pkg_name="$4"], [$5])
   ])
 ])
 
@@ -269,7 +278,7 @@
 ])
 
 dnl Check for webp support.
-GD_LIB_CHECK([LIBWEBP], [WEBP], [webp], [
+GD_LIB_PKG_CHECK([LIBWEBP], [WEBP], [webp], [libwebp], [
   AC_CHECK_LIB([webp], [WebPGetInfo], [dnl
     AS_VAR_APPEND([LIBWEBP_LIBS], [" -lwebp"])
     gd_found_lib=yes

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/root/workspace/hanqiang/libgd_release_2.3.1/libgd/docs/naturaldocs/tmp/gd.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd.c"></a>gd.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd.c" >gd.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Error_Handling" >Error Handling</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdSetErrorMethod" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdSetErrorMethod</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdClearErrorMethod" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdClearErrorMethod</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Creation_and_Destruction" >Creation and Destruction</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreate" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCreate</a></td><td class=SDescription>gdImageCreate is called to create palette-based images, with no more than 256 colors. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateTrueColor" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a></td><td class=SDescription><a href="#gdImageCreateTrueColor" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> is called to create truecolor images, with an essentially unlimited number of colors. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageDestroy" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">gdImageDestroy</a></!
 td><td class=SDescription><a href="#gdImageDestroy" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageDestroy</a> is used to free the memory associated with an image. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Color" >Color</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorClosest" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageColorClosest</a></td><td class=SDescription>Gets the closest color of the image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorClosestAlpha" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdImageColorClosestAlpha</a></td><td class=SDescription>Gets the closest color of the image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorClosestHWB" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link10')" onMouseOut="HideTip('tt8')">gdImageColorClosestHWB</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorExact" id=link11 onMouseOver="ShowTip(event, 'tt9', 'link11')" onMouseOut="HideTip('tt9')">gdImageColorExact</a></td><td class=SDescription>Gets the exact color of the image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorExactAlpha" id=link12 onMouseOver="ShowTip(event, 'tt10', 'link12')" onMouseOut="HideTip('tt10')">gdImageColorExactAlpha</a></td><td class=SDescription>Gets the exact color of the image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorAllocate" id=link13 onMouseOver="ShowTip(event, 'tt11', 'link13')" onMouseOut="HideTip('tt11')">gdImageColorAllocate</a></td><td class=SDescription>Allocates a color</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorAllocateAlpha" id=link14 onMouseOver="ShowTip(event, 'tt12', 'link14')" onMouseOut="HideTip('tt!
 12')">gdImageColorAllocateAlpha</a></td><td class=SDescription>Allocates a color</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorResolve" id=link15 onMouseOver="ShowTip(event, 'tt13', 'link15')" onMouseOut="HideTip('tt13')">gdImageColorResolve</a></td><td class=SDescription>gdImageColorResolve is an alternative for the code fragment</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorResolveAlpha" id=link16 onMouseOver="ShowTip(event, 'tt14', 'link16')" onMouseOut="HideTip('tt14')">gdImageColorResolveAlpha</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorDeallocate" id=link17 onMouseOver="ShowTip(event, 'tt15', 'link17')" onMouseOut="HideTip('tt15')">gdImageColorDeallocate</a></td><td class=SDescription>Removes a palette entry</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorTransparent" id=link18 onMouseOver="ShowTip(event, 'tt16', 'link18')" onMouseOut="HideTip('tt16')">gdImageColorTransparent</a></td><td class=SDescription>Sets the transparent color of the image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImagePaletteCopy" id=link19 onMouseOver="ShowTip(event, 'tt17', 'link19')" onMouseOut="HideTip('tt17')">gdImagePaletteCopy</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorReplace" id=link20 onMouseOver="ShowTip(event, 'tt18', 'link20')" onMouseOut="HideTip('tt18')">gdImageColorReplace</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorReplaceThreshold" id=link21 onMouseOver="ShowTip(event, 'tt19', 'link21')" onMouseOut="HideTip('tt19')">gdImageColorReplaceThreshold</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorReplaceArray" id=link22 onMouseOver="ShowTip(event, 'tt20', 'link22')" onMouseOut="HideTip('tt20')">gdImageColor!
 ReplaceArray</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorReplaceCallback" id=link23 onMouseOver="ShowTip(event, 'tt21', 'link23')" onMouseOut="HideTip('tt21')">gdImageColorReplaceCallback</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Pixels" >Pixels</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetPixel" id=link24 onMouseOver="ShowTip(event, 'tt22', 'link24')" onMouseOut="HideTip('tt22')">gdImageSetPixel</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGetPixel" id=link25 onMouseOver="ShowTip(event, 'tt23', 'link25')" onMouseOut="HideTip('tt23')">gdImageGetPixel</a></td><td class=SDescription>Gets a pixel color as stored in the image.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGetTrueColorPixel" id=link26 onMouseOver="ShowTip(event, 'tt24', 'link26')" onMouseOut="HideTip('tt24')">gdImageGetTrueColorPixel</a></td><td class=SDescription>Gets a pixel color always as truecolor value.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Primitives" >Primitives</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageAABlend" id=link27 onMouseOver="ShowTip(event, 'tt25', 'link27')" onMouseOut="HideTip('tt25')">gdImageAABlend</a></td><td class=SDescription>NO-OP, kept for library compatibility.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageLine" id=link28 onMouseOver="ShowTip(event, 'tt26', 'link28')" onMouseOut="HideTip('tt26')">gdImageLine</a></td><td class=SDescription>Bresenham as presented in Foley & Van Dam.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageDashedLine" id=link29 onMouseOver="ShowTip(event, 'tt27', 'link29')" onMouseOut="HideTip('tt27')">gdImageDashedLine</a></td><td class=SDescription></td></tr><tr class="SFu!
 nction SIndent1"><td class=SEntry><a href="#gdImageBoundsSafe" id=link30 onMouseOver="ShowTip(event, 'tt28', 'link30')" onMouseOut="HideTip('tt28')">gdImageBoundsSafe</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageChar" id=link31 onMouseOver="ShowTip(event, 'tt29', 'link31')" onMouseOut="HideTip('tt29')">gdImageChar</a></td><td class=SDescription>Draws a single character.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCharUp" id=link32 onMouseOver="ShowTip(event, 'tt30', 'link32')" onMouseOut="HideTip('tt30')">gdImageCharUp</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageString" id=link33 onMouseOver="ShowTip(event, 'tt31', 'link33')" onMouseOut="HideTip('tt31')">gdImageString</a></td><td class=SDescription>Draws a character string.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageStringUp" id=link34 onMouseOver="ShowTip(event, 'tt32', 'link34')" onMouseOut="HideTip('tt32')">gdImageStringUp</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageString16" id=link35 onMouseOver="ShowTip(event, 'tt33', 'link35')" onMouseOut="HideTip('tt33')">gdImageString16</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageStringUp16" id=link36 onMouseOver="ShowTip(event, 'tt34', 'link36')" onMouseOut="HideTip('tt34')">gdImageStringUp16</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageArc" id=link37 onMouseOver="ShowTip(event, 'tt35', 'link37')" onMouseOut="HideTip('tt35')">gdImageArc</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFilledArc" id=link38 onMouseOver="ShowTip(event, 'tt36', 'link38')" onMouseOut="HideTip('tt36')">gdImageFilledArc</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMa!
 rked"><td class=SEntry><a href="#gdImageEllipse" id=link39 onMouseOver="ShowTip(event, 'tt37', 'link39')" onMouseOut="HideTip('tt37')">gdImageEllipse</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFilledEllipse" id=link40 onMouseOver="ShowTip(event, 'tt38', 'link40')" onMouseOut="HideTip('tt38')">gdImageFilledEllipse</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFillToBorder" id=link41 onMouseOver="ShowTip(event, 'tt39', 'link41')" onMouseOut="HideTip('tt39')">gdImageFillToBorder</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFill" id=link42 onMouseOver="ShowTip(event, 'tt40', 'link42')" onMouseOut="HideTip('tt40')">gdImageFill</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageRectangle" id=link43 onMouseOver="ShowTip(event, 'tt41', 'link43')" onMouseOut="HideTip('tt41')">gdImageRectangle</a></td><td class=SDescription>Draws a rectangle.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFilledRectangle" id=link44 onMouseOver="ShowTip(event, 'tt42', 'link44')" onMouseOut="HideTip('tt42')">gdImageFilledRectangle</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Cloning_and_Copying" >Cloning and Copying</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageClone" id=link45 onMouseOver="ShowTip(event, 'tt43', 'link45')" onMouseOut="HideTip('tt43')">gdImageClone</a></td><td class=SDescription>Clones an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCopy" id=link46 onMouseOver="ShowTip(event, 'tt44', 'link46')" onMouseOut="HideTip('tt44')">gdImageCopy</a></td><td class=SDescription>Copy an area of an image to another image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyMerge" id=link!
 47 onMouseOver="ShowTip(event, 'tt45', 'link47')" onMouseOut="HideTip('tt45')">gdImageCopyMerge</a></td><td class=SDescription>Copy an area of an image to another image ignoring alpha</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCopyMergeGray" id=link48 onMouseOver="ShowTip(event, 'tt46', 'link48')" onMouseOut="HideTip('tt46')">gdImageCopyMergeGray</a></td><td class=SDescription>Copy an area of an image to another image ignoring alpha</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyResized" id=link49 onMouseOver="ShowTip(event, 'tt47', 'link49')" onMouseOut="HideTip('tt47')">gdImageCopyResized</a></td><td class=SDescription>Copy a resized area from an image to another image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCopyRotated" id=link50 onMouseOver="ShowTip(event, 'tt48', 'link50')" onMouseOut="HideTip('tt48')">gdImageCopyRotated</a></td><td class=SDescription>Copy a rotated area from an image to another image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyResampled" id=link51 onMouseOver="ShowTip(event, 'tt49', 'link51')" onMouseOut="HideTip('tt49')">gdImageCopyResampled</a></td><td class=SDescription>Copy a resampled area from an image to another image</td></tr><tr class="SGroup"><td class=SEntry><a href="#Polygons" >Polygons</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePolygon" id=link52 onMouseOver="ShowTip(event, 'tt50', 'link52')" onMouseOut="HideTip('tt50')">gdImagePolygon</a></td><td class=SDescription>Draws a closed polygon</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageOpenPolygon" id=link53 onMouseOver="ShowTip(event, 'tt51', 'link53')" onMouseOut="HideTip('tt51')">gdImageOpenPolygon</a></td><td class=SDescription>Draws an open polygon</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFilledPolygon" id=link54 onMouseOver="ShowTip(event, 't!
 t52', 'link54')" onMouseOut="HideTip('tt52')">gdImageFilledPolygon</a></td><td class=SDescription>Draws a filled polygon</td></tr><tr class="SGroup"><td class=SEntry><a href="#other" >other</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetStyle" id=link55 onMouseOver="ShowTip(event, 'tt53', 'link55')" onMouseOut="HideTip('tt53')">gdImageSetStyle</a></td><td class=SDescription>Sets the style for following drawing operations</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetThickness" id=link56 onMouseOver="ShowTip(event, 'tt54', 'link56')" onMouseOut="HideTip('tt54')">gdImageSetThickness</a></td><td class=SDescription>Sets the thickness for following drawing operations</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetBrush" id=link57 onMouseOver="ShowTip(event, 'tt55', 'link57')" onMouseOut="HideTip('tt55')">gdImageSetBrush</a></td><td class=SDescription>Sets the brush for following drawing operations</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetTile" id=link58 onMouseOver="ShowTip(event, 'tt56', 'link58')" onMouseOut="HideTip('tt56')">gdImageSetTile</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetAntiAliased" id=link59 onMouseOver="ShowTip(event, 'tt57', 'link59')" onMouseOut="HideTip('tt57')">gdImageSetAntiAliased</a></td><td class=SDescription>Set the color for subsequent anti-aliased drawing</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetAntiAliasedDontBlend" id=link60 onMouseOver="ShowTip(event, 'tt58', 'link60')" onMouseOut="HideTip('tt58')">gdImageSetAntiAliasedDontBlend</a></td><td class=SDescription>Set the color and “dont_blend” color for subsequent anti-aliased drawing</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageInterlace" id=link61 onMouseOver="ShowTip(event, 'tt59', 'link61')" onMouseOut="HideT!
 ip('tt59')">gdImageInterlace</a></td><td class=SDescription>Sets whether an image is interlaced</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCompare" id=link62 onMouseOver="ShowTip(event, 'tt60', 'link62')" onMouseOut="HideTip('tt60')">gdImageCompare</a></td><td class=SDescription>Compare two images</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdAlphaBlend" id=link63 onMouseOver="ShowTip(event, 'tt61', 'link63')" onMouseOut="HideTip('tt61')">gdAlphaBlend</a></td><td class=SDescription>Blend two colors</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdLayerOverlay" id=link64 onMouseOver="ShowTip(event, 'tt62', 'link64')" onMouseOut="HideTip('tt62')">gdLayerOverlay</a></td><td class=SDescription>Overlay two colors</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdLayerMultiply" id=link65 onMouseOver="ShowTip(event, 'tt63', 'link65')" onMouseOut="HideTip('tt63')">gdLayerMultiply</a></td><td class=SDescription>Overlay two colors with multiply effect</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageAlphaBlending" id=link66 onMouseOver="ShowTip(event, 'tt64', 'link66')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></td><td class=SDescription>Set the effect for subsequent drawing operations</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSaveAlpha" id=link67 onMouseOver="ShowTip(event, 'tt65', 'link67')" onMouseOut="HideTip('tt65')">gdImageSaveAlpha</a></td><td class=SDescription>Sets the save alpha flag</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetClip" id=link68 onMouseOver="ShowTip(event, 'tt66', 'link68')" onMouseOut="HideTip('tt66')">gdImageSetClip</a></td><td class=SDescription>Sets the clipping rectangle</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGetClip" id=link69 onMouseOver="ShowTip(event, 'tt67', 'link69')" onMouseOut="HideTip('tt67')">gdImageGetClip</a></td><td class=S!
 Description>Gets the current clipping rectangle</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetResolution" id=link70 onMouseOver="ShowTip(event, 'tt68', 'link70')" onMouseOut="HideTip('tt68')">gdImageSetResolution</a></td><td class=SDescription>Sets the resolution of an image.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePaletteToTrueColor" id=link71 onMouseOver="ShowTip(event, 'tt69', 'link71')" onMouseOut="HideTip('tt69')">gdImagePaletteToTrueColor</a></td><td class=SDescription>Convert a palette image to true color</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Error_Handling"></a>Error Handling</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdSetErrorMethod"></a>gdSetErrorMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdSetErrorMethod(</td><td class="PType  prettyprint " nowrap>gdErrorMethod </td><td class="PParameter  prettyprint " nowrap>error_method</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdClearErrorMethod"></a>gdClearErrorMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdClearErrorMethod(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Creation_and_Destruction"></a>Creation and Destruction</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreate"></a>gdImageCreate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sy</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>gdImageCreate is called to create palette-based images, with no more than 256 colors.  The image must eventually be destroyed using gdImageDestroy().</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sx</td><td class=CDLDescription>The image width.</td></tr><tr><td class=CDLEntry>sy</td><td class=CDLDescription>The image height.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
+im = gdImageCreate(64, 64);
+// ... Use the image ...
+gdImageDestroy(im);</pre></blockquote><h4 class=CHeading>See Also</h4><p><a href="#gdImageCreateTrueColor" class=LFunction id=link72 onMouseOver="ShowTip(event, 'tt4', 'link72')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateTrueColor"></a>gdImageCreateTrueColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sy</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateTrueColor" class=LFunction id=link73 onMouseOver="ShowTip(event, 'tt4', 'link73')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> is called to create truecolor images, with an essentially unlimited number of colors.  Invoke <a href="#gdImageCreateTrueColor" class=LFunction id=link74 onMouseOver="ShowTip(event, 'tt4', 'link74')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> with the x and y dimensions of the desired image.  <a href="#gdImageCreateTrueColor" class=LFunction id=link75 onMouseOver="ShowTip(event, 'tt4', 'link75')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link76 onMouseOver="ShowTip(event, 'tt70', 'link76')" onMouseOut="HideTip('tt70')">gdImagePtr</a> to the new image, or NULL if unable to allocate the image.  The image must eventually be destroyed using <gdImageDestroy>().</p><p>Truecolor images are always filled with black at creation time.  There is no concept of a “background” color index.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sx</td><td class=CDLDescription>The image width.</td></tr><tr><td class=CDLEntry>sy</td><td class=CDLDescription>The image height.</td></tr></table><h4 clas!
 s=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
+im = gdImageCreateTrueColor(64, 64);
+// ... Use the image ...
+gdImageDestroy(im);</pre></blockquote><h4 class=CHeading>See Also</h4><p><a href="#gdImageCreateTrueColor" class=LFunction id=link77 onMouseOver="ShowTip(event, 'tt4', 'link77')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageDestroy"></a>gdImageDestroy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDestroy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageDestroy" class=LFunction id=link78 onMouseOver="ShowTip(event, 'tt5', 'link78')" onMouseOut="HideTip('tt5')">gdImageDestroy</a> is used to free the memory associated with an image.  It is important to invoke <a href="#gdImageDestroy" class=LFunction id=link79 onMouseOver="ShowTip(event, 'tt5', 'link79')" onMouseOut="HideTip('tt5')">gdImageDestroy</a> before exiting your program or assigning a new image to a <a href="gd-h.html#gdImagePtr" class=LType id=link80 onMouseOver="ShowTip(event, 'tt70', 'link80')" onMouseOut="HideTip('tt70')">gdImagePtr</a> variable.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>Pointer to the gdImage to delete.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
+im = gdImageCreate(10, 10);
+// ... Use the image ...
+// Now destroy it
+gdImageDestroy(im);</pre></blockquote></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color"></a>Color</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorClosest"></a>gdImageColorClosest</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorClosest (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the closest color of the image</p><p>This is a simplified variant of <a href="#gdImageColorClosestAlpha" class=LFunction id=link81 onMouseOver="ShowTip(event, 'tt7', 'link81')" onMouseOut="HideTip('tt7')">gdImageColorClosestAlpha</a> where the alpha channel is always opaque.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The closest color already available in the palette for palette images; the color value of the given components for truecolor images.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorExact" class=LFunction id=link82 onMouseOver="ShowTip(event, 'tt9', 'link82')" onMouseOut="HideTip('tt9')">gdImageColorExact</a>!
 </li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorClosestAlpha"></a>gdImageColorClosestAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorClosestAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the closest color of the image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>The value of the alpha component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The closest color already available in the palette for palette images; the color value of the given components for truecolor images.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorExactAlpha" class=LFunction id=link83 onMouseOver="ShowTip(event, 'tt10', 'link83')" onMouseOut="HideTip('tt10')">gdImageColorExactAlpha</a!
 ></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorClosestHWB"></a>gdImageColorClosestHWB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorClosestHWB (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorExact"></a>gdImageColorExact</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorExact (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the exact color of the image</p><p>This is a simplified variant of <a href="#gdImageColorExactAlpha" class=LFunction id=link84 onMouseOver="ShowTip(event, 'tt10', 'link84')" onMouseOut="HideTip('tt10')">gdImageColorExactAlpha</a> where the alpha channel is always opaque.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>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.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorClosest" class=LFunction id=link85 onMouseOver="ShowTip(event, 'tt6', 'link85'!
 )" onMouseOut="HideTip('tt6')">gdImageColorClosest</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorExactAlpha"></a>gdImageColorExactAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the exact color of the image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>The value of the alpha component.</td></tr></table><h4 class=CHeading>Returns</h4><p>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.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorClosestAlpha" class=LFunction id=link86 onMouseOver="ShowTip(event, 'tt7', 'link86')" o!
 nMouseOut="HideTip('tt7')">gdImageColorClosestAlpha</a></li><li><a href="gd-h.html#gdTrueColorAlpha" class=LMacro id=link87 onMouseOver="ShowTip(event, 'tt71', 'link87')" onMouseOut="HideTip('tt71')">gdTrueColorAlpha</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorAllocate"></a>gdImageColorAllocate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorAllocate (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Allocates a color</p><p>This is a simplified variant of <a href="#gdImageColorAllocateAlpha" class=LFunction id=link88 onMouseOver="ShowTip(event, 'tt12', 'link88')" onMouseOut="HideTip('tt12')">gdImageColorAllocateAlpha</a> where the alpha channel is always opaque.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The color value.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorDeallocate" class=LFunction id=link89 onMouseOver="ShowTip(event, 'tt15', 'link89')" onMouseOut="HideTip('tt15')">gdImageColorDeallocate</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorAllocateAlpha"></a>gdImageColorAllocateAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorAllocateAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Allocates a color</p><p>This is typically used for palette images, but can be used for truecolor images as well.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The color value.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorDeallocate" class=LFunction id=link90 onMouseOver="ShowTip(event, 'tt15', 'link90')" onMouseOut="HideTip('tt15')">gdImageColorDeallocate</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorResolve"></a>gdImageColorResolve</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorResolve (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>gdImageColorResolve is an alternative for the code fragment</p><blockquote><pre class="prettyprint">if ((color=gdImageColorExact(im,R,G,B)) < 0)
+  if ((color=gdImageColorAllocate(im,R,G,B)) < 0)
+    color=gdImageColorClosest(im,R,G,B);</pre></blockquote><p>in a single function.     Its advantage is that it is guaranteed to return a color index in one search over the color table.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorResolveAlpha"></a>gdImageColorResolveAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorResolveAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorDeallocate"></a>gdImageColorDeallocate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageColorDeallocate (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes a palette entry</p><p>This is a no-op for truecolor images.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The palette index.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorAllocate" class=LFunction id=link91 onMouseOver="ShowTip(event, 'tt11', 'link91')" onMouseOut="HideTip('tt11')">gdImageColorAllocate</a></li><li><a href="#gdImageColorAllocateAlpha" class=LFunction id=link92 onMouseOver="ShowTip(event, 'tt12', 'link92')" onMouseOut="HideTip('tt12')">gdImageColorAllocateAlpha</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorTransparent"></a>gdImageColorTransparent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the transparent color of the image</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdImageGetTransparent" class=LMacro id=link93 onMouseOver="ShowTip(event, 'tt72', 'link93')" onMouseOut="HideTip('tt72')">gdImageGetTransparent</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePaletteCopy"></a>gdImagePaletteCopy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>from</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplace"></a>gdImageColorReplace</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplace (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplaceThreshold"></a>gdImageColorReplaceThreshold</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplaceThreshold (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>threshold</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplaceArray"></a>gdImageColorReplaceArray</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplaceArray (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>len,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dst</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplaceCallback"></a>gdImageColorReplaceCallback</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplaceCallback (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdCallbackImageColor </td><td class="PParameter  prettyprint " nowrap>callback</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Pixels"></a>Pixels</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetPixel"></a>gdImageSetPixel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetPixel"></a>gdImageGetPixel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a pixel color as stored in the image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageGetTrueColorPixel" class=LFunction id=link94 onMouseOver="ShowTip(event, 'tt24', 'link94')" onMouseOut="HideTip('tt24')">gdImageGetTrueColorPixel</a></li><li><a href="gd-h.html#gdImagePalettePixel" class=LMacro id=link95 onMouseOver="ShowTip(event, 'tt73', 'link95')" onMouseOut="HideTip('tt73')">gdImagePalettePixel</a></li><li><a href="gd-h.html#gdImageTrueColorPixel" class=LMacro id=link96 onMouseOver="ShowTip(event, 'tt74', 'link96')" onMouseOut="HideTip('tt74')">gdImageTrueColorPixel</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetTrueColorPixel"></a>gdImageGetTrueColorPixel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a pixel color always as truecolor value.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageGetPixel" class=LFunction id=link97 onMouseOver="ShowTip(event, 'tt23', 'link97')" onMouseOut="HideTip('tt23')">gdImageGetPixel</a></li><li><a href="gd-h.html#gdImageTrueColorPixel" class=LMacro id=link98 onMouseOver="ShowTip(event, 'tt74', 'link98')" onMouseOut="HideTip('tt74')">gdImageTrueColorPixel</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Primitives"></a>Primitives</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageAABlend"></a>gdImageAABlend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageAABlend (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>NO-OP, kept for library compatibility.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageLine"></a>gdImageLine</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageLine (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Bresenham as presented in Foley & Van Dam.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageDashedLine"></a>gdImageDashedLine</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDashedLine (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBoundsSafe"></a>gdImageBoundsSafe</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageBoundsSafe (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageChar"></a>gdImageChar</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageChar (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a single character.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to draw onto.</td></tr><tr><td class=CDLEntry>f</td><td class=CDLDescription>The raster font.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The character.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>Variants</h4><ul><li><a href="#gdImageCharUp" class=LFunction id=link99 onMouseOver="ShowTip(event, 'tt30', 'link99')" onMouseOut="HideTip('tt30')">gdImageCharUp</a></li></ul><h4 class=CHeading>!
 See also</h4><ul><li><a href="gd-h.html#gdFontPtr" class=LType id=link100 onMouseOver="ShowTip(event, 'tt75', 'link100')" onMouseOut="HideTip('tt75')">gdFontPtr</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCharUp"></a>gdImageCharUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCharUp (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageString"></a>gdImageString</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a character string.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to draw onto.</td></tr><tr><td class=C!
 DLEntry>f</td><td class=CDLDescription>The raster font.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The character string.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>Variants</h4><ul><li><a href="#gdImageStringUp" class=LFunction id=link101 onMouseOver="ShowTip(event, 'tt32', 'link101')" onMouseOut="HideTip('tt32')">gdImageStringUp</a></li><li><a href="#gdImageString16" class=LFunction id=link102 onMouseOver="ShowTip(event, 'tt33', 'link102')" onMouseOut="HideTip('tt33')">gdImageString16</a></li><li><a href="#gdImageStringUp16" class=LFunction id=link103 onMouseOver="ShowTip(event, 'tt34', 'link103')" onMouseOut="HideTip('tt34')">gdImageStringUp16</a></li></ul><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdFontPtr" class=LType id=link104 onMouseOver="ShowTip(event, 'tt75', 'link104')" onMouseOut="HideTip('tt75')">gdFontPtr</a></li><li><a href="gdft-c.html#gdImageStringTTF" class=LFunction id=link105 onMouseOver="ShowTip(event, 'tt76', 'link105')" onMouseOut="HideTip('tt76')">gdImageStringTTF</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringUp"></a>gdImageStringUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageStringUp (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageString16"></a>gdImageString16</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageString16 (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>short </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringUp16"></a>gdImageStringUp16</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageStringUp16 (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>short </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageArc"></a>gdImageArc</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageArc (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledArc"></a>gdImageFilledArc</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledArc (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>style</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageEllipse"></a>gdImageEllipse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageEllipse(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledEllipse"></a>gdImageFilledEllipse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledEllipse (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFillToBorder"></a>gdImageFillToBorder</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFillToBorder (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>border,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFill"></a>gdImageFill</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFill(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>nc</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageRectangle"></a>gdImageRectangle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageRectangle (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a rectangle.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x1</td><td class=CDLDescription>The x-coordinate of one of the corners.</td></tr><tr><td class=CDLEntry>y1</td><td class=CDLDescription>The y-coordinate of one of the corners.</td></tr><tr><td class=CDLEntry>x2</td><td class=CDLDescription>The x-coordinate of another corner.</td></tr><tr><td class=CDLEntry>y2</td><td class=CDLDescription>The y-coordinate of another corner.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageFilledRectangle" class=LFunction id=link106 onMouseOver="ShowTip(event, 'tt42', 'link106')" onMouseOut="HideTip('tt42')">gd!
 ImageFilledRectangle</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledRectangle"></a>gdImageFilledRectangle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledRectangle (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Cloning_and_Copying"></a>Cloning and Copying</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageClone"></a>gdImageClone</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageClone (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Clones an image</p><p>Creates an exact duplicate of the given image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr></table><h4 class=CHeading>Returns</h4><p>The cloned image on success, NULL on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopy"></a>gdImageCopy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy an area of an image to another image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinat!
 e of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>The width of the area to copy.</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>The height of the area to copy.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopyMerge" class=LFunction id=link107 onMouseOver="ShowTip(event, 'tt45', 'link107')" onMouseOut="HideTip('tt45')">gdImageCopyMerge</a></li><li><a href="#gdImageCopyMergeGray" class=LFunction id=link108 onMouseOver="ShowTip(event, 'tt46', 'link108')" onMouseOut="HideTip('tt46')">gdImageCopyMergeGray</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyMerge"></a>gdImageCopyMerge</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyMerge (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>pct</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy an area of an image to another image ignoring alpha</p><p>The source area will be copied to the destination are by merging the pixels.</p><h4 class=CHeading>Note</h4><p>This function is a substitute for real alpha channel operations, so it doesn’t pay attention to the alpha channel.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr!
 ><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>The width of the area to copy.</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>The height of the area to copy.</td></tr><tr><td class=CDLEntry>pct</td><td class=CDLDescription>The percentage in range 0..100.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopy" class=LFunction id=link109 onMouseOver="ShowTip(event, 'tt44', 'link109')" onMouseOut="HideTip('tt44')">gdImageCopy</a></li><li><a href="#gdImageCopyMergeGray" class=LFunction id=link110 onMouseOver="ShowTip(event, 'tt46', 'link110')" onMouseOut="HideTip('tt46')">gdImageCopyMergeGray</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyMergeGray"></a>gdImageCopyMergeGray</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyMergeGray (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>pct</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy an area of an image to another image ignoring alpha</p><p>The source area will be copied to the grayscaled destination area by merging the pixels.</p><h4 class=CHeading>Note</h4><p>This function is a substitute for real alpha channel operations, so it doesn’t pay attention to the alpha channel.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destina!
 tion image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>The width of the area to copy.</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>The height of the area to copy.</td></tr><tr><td class=CDLEntry>pct</td><td class=CDLDescription>The percentage of the source color intensity in range 0..100.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopy" class=LFunction id=link111 onMouseOver="ShowTip(event, 'tt44', 'link111')" onMouseOut="HideTip('tt44')">gdImageCopy</a></li><li><a href="#gdImageCopyMerge" class=LFunction id=link112 onMouseOver="ShowTip(event, 'tt45', 'link112')" onMouseOut="HideTip('tt45')">gdImageCopyMerge</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyResized"></a>gdImageCopyResized</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcH</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy a resized area from an image to another image</p><p>If the source and destination area differ in size, the area will be resized using nearest-neighbor interpolation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image!
 .</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>dstW</td><td class=CDLDescription>The width of the area to copy to.</td></tr><tr><td class=CDLEntry>dstH</td><td class=CDLDescription>The height of the area to copy to.</td></tr><tr><td class=CDLEntry>srcW</td><td class=CDLDescription>The width of the area to copy from.</td></tr><tr><td class=CDLEntry>srcH</td><td class=CDLDescription>The height of the area to copy from.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopyResampled" class=LFunction id=link113 onMouseOver="ShowTip(event, 'tt49', 'link113')" onMouseOut="HideTip('tt49')">gdImageCopyResampled</a></li><li><a href="gd_interpolation-c.html#gdImageScale" class=LFunction id=link114 onMouseOver="ShowTip(event, 'tt77', 'link114')" onMouseOut="HideTip('tt77')">gdImageScale</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyRotated"></a>gdImageCopyRotated</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy a rotated area from an image to another image</p><p>The area is counter-clockwise rotated using nearest-neighbor interpolation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescript!
 ion>The x-coordinate of the center of the area to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the center of the area to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcW</td><td class=CDLDescription>The width of the area to copy from.</td></tr><tr><td class=CDLEntry>srcH</td><td class=CDLDescription>The height of the area to copy from.</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>The angle in degrees.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_interpolation-c.html#gdImageRotateInterpolated" class=LFunction id=link115 onMouseOver="ShowTip(event, 'tt78', 'link115')" onMouseOut="HideTip('tt78')">gdImageRotateInterpolated</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyResampled"></a>gdImageCopyResampled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcH</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy a resampled area from an image to another image</p><p>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.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><!
 tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>dstW</td><td class=CDLDescription>The width of the area to copy to.</td></tr><tr><td class=CDLEntry>dstH</td><td class=CDLDescription>The height of the area to copy to.</td></tr><tr><td class=CDLEntry>srcW</td><td class=CDLDescription>The width of the area to copy from.</td></tr><tr><td class=CDLEntry>srcH</td><td class=CDLDescription>The height of the area to copy from.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopyResized" class=LFunction id=link116 onMouseOver="ShowTip(event, 'tt47', 'link116')" onMouseOut="HideTip('tt47')">gdImageCopyResized</a></li><li><a href="gd_interpolation-c.html#gdImageScale" class=LFunction id=link117 onMouseOver="ShowTip(event, 'tt77', 'link117')" onMouseOut="HideTip('tt77')">gdImageScale</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Polygons"></a>Polygons</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePolygon"></a>gdImagePolygon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a closed polygon</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>p</td><td class=CDLDescription>The vertices as array of <a href="gd-h.html#gdPoint" class=LType >gdPoint</a>s.</td></tr><tr><td class=CDLEntry>n</td><td class=CDLDescription>The number of vertices.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageOpenPolygon" class=LFunction id=link118 onMouseOver="ShowTip(event, 'tt51', 'link118')" onMouseOut="HideTip('tt51')">gdImageOpenPolygon</a></li><li><a href="#gdImageFilledPolygon" class=LFunction id=link119 onMouseOver="ShowTip(event, 'tt52', 'link119')" onMouseOut="HideTip('tt52')">gdImageFilledPolygon</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageOpenPolygon"></a>gdImageOpenPolygon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws an open polygon</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>p</td><td class=CDLDescription>The vertices as array of <a href="gd-h.html#gdPoint" class=LType >gdPoint</a>s.</td></tr><tr><td class=CDLEntry>n</td><td class=CDLDescription>The number of vertices.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImagePolygon" class=LFunction id=link120 onMouseOver="ShowTip(event, 'tt50', 'link120')" onMouseOut="HideTip('tt50')">gdImagePolygon</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledPolygon"></a>gdImageFilledPolygon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a filled polygon</p><p>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.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>p</td><td class=CDLDescription>The vertices as array of <a href="gd-h.html#gdPoint" class=LType >gdPoint</a>s.</td></tr><tr><td class=CDLEntry>n</td><td class=CDLDescription>The number of vertices.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImagePolygon" class=LFunction id=link121 onMouseOver="ShowTip(event, 'tt50', 'link121')" onMouseOut="HideTip('tt50')">gdImagePolygon</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="other"></a>other</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetStyle"></a>gdImageSetStyle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the style for following drawing operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>style</td><td class=CDLDescription>An array of color values.</td></tr><tr><td class=CDLEntry>noOfPixel</td><td class=CDLDescription>The number of color values.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetThickness"></a>gdImageSetThickness</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetThickness (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>thickness</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the thickness for following drawing operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>thickness</td><td class=CDLDescription>The thickness in pixels.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetBrush"></a>gdImageSetBrush</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>brush</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the brush for following drawing operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>brush</td><td class=CDLDescription>The brush image.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetTile"></a>gdImageSetTile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetTile (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>tile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetAntiAliased"></a>gdImageSetAntiAliased</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetAntiAliased (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the color for subsequent anti-aliased drawing</p><p>If <a href="gd-h.html#gdAntiAliased" class=LConstant id=link122 onMouseOver="ShowTip(event, 'tt79', 'link122')" onMouseOut="HideTip('tt79')">gdAntiAliased</a> is passed as color to drawing operations that support anti-aliased drawing (such as <a href="#gdImageLine" class=LFunction id=link123 onMouseOver="ShowTip(event, 'tt26', 'link123')" onMouseOut="HideTip('tt26')">gdImageLine</a> and <a href="#gdImagePolygon" class=LFunction id=link124 onMouseOver="ShowTip(event, 'tt50', 'link124')" onMouseOut="HideTip('tt50')">gdImagePolygon</a>), the actual color to be used can be set with this function.</p><h4 class=CHeading>Example: draw an anti-aliased blue line</h4><blockquote><pre>gdImageSetAntiAliased(im, gdTrueColorAlpha(0, 0, gdBlueMax, gdAlphaOpaque));
+gdImageLine(im, 10,10, 20,20, gdAntiAliased);</pre></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageSetAntiAliasedDontBlend" class=LFunction id=link125 onMouseOver="ShowTip(event, 'tt58', 'link125')" onMouseOut="HideTip('tt58')">gdImageSetAntiAliasedDontBlend</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetAntiAliasedDontBlend"></a>gdImageSetAntiAliasedDontBlend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetAntiAliasedDontBlend (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dont_blend</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the color and “dont_blend” color for subsequent anti-aliased drawing</p><p>This extended variant of <a href="#gdImageSetAntiAliased" class=LFunction id=link126 onMouseOver="ShowTip(event, 'tt57', 'link126')" onMouseOut="HideTip('tt57')">gdImageSetAntiAliased</a> allows to also specify a (background) color that will not be blended in anti-aliased drawing operations.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr><tr><td class=CDLEntry>dont_blend</td><td class=CDLDescription>Whether to blend.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageInterlace"></a>gdImageInterlace</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageInterlace (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets whether an image is interlaced</p><p>This is relevant only when saving the image in a format that supports interlacing.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>interlaceArg</td><td class=CDLDescription>Whether the image is interlaced.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdImageGetInterlaced" class=LMacro id=link127 onMouseOver="ShowTip(event, 'tt80', 'link127')" onMouseOut="HideTip('tt80')">gdImageGetInterlaced</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCompare"></a>gdImageCompare</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageCompare (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Compare two images</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im1</td><td class=CDLDescription>An image.</td></tr><tr><td class=CDLEntry>im2</td><td class=CDLDescription>Another image.</td></tr></table><h4 class=CHeading>Returns</h4><p>A bitmask of <a href="gd-h.html#Image_Comparison" class=LGroup >Image Comparison</a> flags where each set flag signals which attributes of the images are different.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAlphaBlend"></a>gdAlphaBlend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Blend two colors</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The color to blend onto.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The color to blend.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageAlphaBlending" class=LFunction id=link128 onMouseOver="ShowTip(event, 'tt64', 'link128')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></li><li><a href="#gdLayerOverlay" class=LFunction id=link129 onMouseOver="ShowTip(event, 'tt62', 'link129')" onMouseOut="HideTip('tt62')">gdLayerOverlay</a></li><li><a href="#gdLayerMultiply" class=LFunction id=link130 onMouseOver="ShowTip(event, 'tt63', 'link130')" onMouseOut="HideTip('tt63')">gdLayerMultiply</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdLayerOverlay"></a>gdLayerOverlay</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Overlay two colors</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The color to overlay onto.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The color to overlay.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageAlphaBlending" class=LFunction id=link131 onMouseOver="ShowTip(event, 'tt64', 'link131')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></li><li><a href="#gdAlphaBlend" class=LFunction id=link132 onMouseOver="ShowTip(event, 'tt61', 'link132')" onMouseOut="HideTip('tt61')">gdAlphaBlend</a></li><li><a href="#gdLayerMultiply" class=LFunction id=link133 onMouseOver="ShowTip(event, 'tt63', 'link133')" onMouseOut="HideTip('tt63')">gdLayerMultiply</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdLayerMultiply"></a>gdLayerMultiply</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Overlay two colors with multiply effect</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The color to overlay onto.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The color to overlay.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageAlphaBlending" class=LFunction id=link134 onMouseOver="ShowTip(event, 'tt64', 'link134')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></li><li><a href="#gdAlphaBlend" class=LFunction id=link135 onMouseOver="ShowTip(event, 'tt61', 'link135')" onMouseOut="HideTip('tt61')">gdAlphaBlend</a></li><li><a href="#gdLayerOverlay" class=LFunction id=link136 onMouseOver="ShowTip(event, 'tt62', 'link136')" onMouseOut="HideTip('tt62')">gdLayerOverlay</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageAlphaBlending"></a>gdImageAlphaBlending</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the effect for subsequent drawing operations</p><p>Note that the effect is used for truecolor images only.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>alphaBlendingArg</td><td class=CDLDescription>The effect.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#Effects" class=LGroup id=link137 onMouseOver="ShowTip(event, 'tt81', 'link137')" onMouseOut="HideTip('tt81')">Effects</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSaveAlpha"></a>gdImageSaveAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSaveAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>saveAlphaArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the save alpha flag</p><p>The save alpha flag specifies whether the alpha channel of the pixels should be saved.  This is supported only for image formats that support full alpha transparency, e.g.  PNG.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetClip"></a>gdImageSetClip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetClip (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the clipping rectangle</p><p>The clipping rectangle restricts the drawing area for following drawing operations.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x1</td><td class=CDLDescription>The x-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>y1</td><td class=CDLDescription>The y-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>x2</td><td class=CDLDescription>The x-coordinate of the lower right corner.</td></tr><tr><td class=CDLEntry>y2</td><td class=CDLDescription>The y-coordinate of the lower right corner.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageGetClip" class=LFunction id=link138 onMouseOver="ShowTip(event, 'tt67', 'link138')" onMouseOut="HideTip('tt67')">gdImageGetClip</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetClip"></a>gdImageGetClip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGetClip (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>x1P,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>y1P,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>x2P,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>y2P</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the current clipping rectangle</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x1P</td><td class=CDLDescription>(out) The x-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>y1P</td><td class=CDLDescription>(out) The y-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>x2P</td><td class=CDLDescription>(out) The x-coordinate of the lower right corner.</td></tr><tr><td class=CDLEntry>y2P</td><td class=CDLDescription>(out) The y-coordinate of the lower right corner.</td></tr></table><h4 class=CHeading>See also</h4><ul><li>!
 <a href="#gdImageSetClip" class=LFunction id=link139 onMouseOver="ShowTip(event, 'tt66', 'link139')" onMouseOut="HideTip('tt66')">gdImageSetClip</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetResolution"></a>gdImageSetResolution</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>res_y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the resolution of an image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>res_x</td><td class=CDLDescription>The horizontal resolution in DPI.</td></tr><tr><td class=CDLEntry>res_y</td><td class=CDLDescription>The vertical resolution in DPI.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdImageResolutionX" class=LMacro id=link140 onMouseOver="ShowTip(event, 'tt82', 'link140')" onMouseOut="HideTip('tt82')">gdImageResolutionX</a></li><li><a href="gd-h.html#gdImageResolutionY" class=LMacro id=link141 onMouseOver="ShowTip(event, 'tt83', 'link141')" onMouseOut="HideTip('tt83')">gdImageResolutionY</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePaletteToTrueColor"></a>gdImagePaletteToTrueColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImagePaletteToTrueColor(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Convert a palette image to true color</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero if the conversion succeeded, zero otherwise.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd_topal-c.html#gdImageTrueColorToPalette" class=LFunction id=link142 onMouseOver="ShowTip(event, 'tt84', 'link142')" onMouseOut="HideTip('tt84')">gdImageTrueColorToPalette</a></li></ul></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd.c</div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a!
 ></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../!
 index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdSetErrorMethod(</td><td class="PType  prettyprint " nowrap>gdErrorMethod </td><td class="PParameter  prettyprint " nowrap>error_method</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdClearErrorMethod(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sy</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreate is called to create palette-based images, with no more than 256 colors. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nb!
 sp;</td><td class="PParameter  prettyprint " nowrap>sy</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDestroy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorClosest (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorClosestAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PPa!
 rameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorClosestHWB (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorExact (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PTyp!
 e  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorAllocate (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </!
 td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorAllocateAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorResolve (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageColorResolve is an alternati!
 ve for the code fragment</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorResolveAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageColorDeallocate (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Removes a palette entry</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td!
  class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the transparent color of the image</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>from</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplace (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplaceThreshold (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp!
 ;</td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>threshold</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplaceArray (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>len,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dst</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorReplaceCallback (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdCallbackImageColor </td><td class="PParameter  prettyprint " nowrap>callback</td><td class="PAf!
 terParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color as stored in the image.</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class!
 ="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color always as truecolor value.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageAABlend (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>NO-OP, kept for library compatibility.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageLine (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Bresen!
 ham as presented in Foley & Van Dam.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDashedLine (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageBoundsSafe (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpad!
 ding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageChar (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCharUp (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></di!
 v><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageStringUp (</td><td class="PTypePr!
 efix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageString16 (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " no!
 wrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>short </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageStringUp16 (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdFontPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " now!
 rap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>short </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageArc (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td c!
 lass="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledArc (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>style</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageEllipse(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " no!
 wrap>int </td><td class="PParameter  prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledEllipse (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFillToBorder (</td><td class="PType  !
 prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>border,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFill(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>nc</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageRectangle (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><!
 td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a rectangle.</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledRectangle (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageClone (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td clas!
 s="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Clones an image</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyMerge (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint!
  " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>pct</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyMergeGray (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowr!
 ap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>pct</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcH<!
 /td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resized area from an image to another image</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a rotated area from an image to another image</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td!
  class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcH</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resampled area from an image to another image</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PP!
 arameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a closed polygon</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws an open polygon</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a filled polygon</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Protot!
 ype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the style for following drawing operations</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetThickness (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>thickness</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the thickness for following drawing operations</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>brush</td><td class="PAfterParameters  prettyprint "nowrap>)!
 </td></tr></table></td></tr></table></blockquote>Sets the brush for following drawing operations</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetTile (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>tile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetAntiAliased (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetAntiAliasedDontBlend (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dont_blend</td><td class="PAfterParameters  prett!
 yprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color and “dont_blend” color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageInterlace (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageCompare (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Compare two images</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Blend two colors</div></div!
 ><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors with multiply effect</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the effect for subsequent drawing operations</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><!
 tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSaveAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>saveAlphaArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the save alpha flag</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetClip (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the clipping rectangle</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGetClip (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint "!
  nowrap>*</td><td class="PParameter  prettyprint " nowrap>x1P,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>y1P,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>x2P,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>y2P</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current clipping rectangle</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>res_y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the resolution of an image.</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImagePaletteToTrueColor(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="!
 PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert a palette image to true color</div></div><div class=CToolTip id="tt70"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt71"><div class=CMacro>Compose a truecolor value from its components</div></div><div class=CToolTip id="tt72"><div class=CMacro>Gets the transparent color of the image.</div></div><div class=CToolTip id="tt73"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt74"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt75"><div class=CType>A font structure, containing the bitmaps of all characters in a font. </div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>char * gdImageStringTTF (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImage </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap><!
 /td><td class="PType  prettyprint " nowrap>double </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>string</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Alias of gdImageStringFT.</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprin!
 t " nowrap>new_height</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Scale an image</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>bgcolor</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Rotate an image</div></div><div class=CToolTip id="tt79"><div class=CConstant>draw anti aliased</div></div><div class=CToolTip id="tt80"><div class=CMacro>Whether an image is interlaced.</div></div><div class=CToolTip id="tt81"><div class=CGroup>The layering effect</div></div><div class=CToolTip id="tt82"><div class=CMacro>Gets the horizontal resolution in DPI.</div></div><div class=CToolTip id="tt83"><div class=CMacro>Gets the vertical resolution in DPI.</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageTrueColorToPalette (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dither,</td></tr><t!
 r><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Converts a truecolor image to a palette image</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/root/workspace/hanqiang/libgd_release_2.3.1/libgd/docs/naturaldocs/tmp/gd.h</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd.h"></a>gd.h</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd.h" >gd.h</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Color_Decomposition" >Color Decomposition</a></td><td class=SDescription></td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdTrueColorGetAlpha" >gdTrueColorGetAlpha</a></td><td class=SDescription>Gets the alpha channel value</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdTrueColorGetRed" >gdTrueColorGetRed</a></td><td class=SDescription>Gets the red channel value</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdTrueColorGetGreen" >gdTrueColorGetGreen</a></td><td class=SDescription>Gets the green channel value</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdTrueColorGetBlue" >gdTrueColorGetBlue</a></td><td class=SDescription>Gets the blue channel value</td></tr><tr class="SGroup"><td class=SEntry><a href="#Effects" >Effects</a></td><td class=SDescription>The layering effect</td></tr><tr class="SGroup"><td class=SEntry><a href="#Color_Quantization" >Color Quantization</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent1 SMarked"><td class=SEntry><a href="#gdPaletteQuantizationMethod" >gdPaletteQuantizationMethod</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Transform" >Transform</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#gdInterpolationMethod" >gdInterpolationMethod</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdImage" >gdImage</!
 a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdImagePtr" >gdImagePtr</a></td><td class=SDescription>The data structure in which gd stores images. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdPointF" >gdPointF</a></td><td class=SDescription>Defines a point in a 2D coordinate system using floating point values. </td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdPointFPtr" >gdPointFPtr</a></td><td class=SDescription>Pointer to a <a href="#gdPointF" class=LType id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdPointF</a></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdFont" >gdFont</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdFontPtr" >gdFontPtr</a></td><td class=SDescription>A font structure, containing the bitmaps of all characters in a font. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Colors" >Colors</a></td><td class=SDescription>Colors are always of type int which is supposed to be at least 32 bit large.</td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#Special_Colors" >Special Colors</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdSource" >gdSource</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdSourcePtr" >gdSourcePtr</a></td><td class=SDescription><b>Note:</b> This interface is <b>obsolete</b> and kept only for *compatibility. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked">!
 <td class=SEntry><a href="#gdFTStringExtra" >gdFTStringExtra</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdFTStringExtraPtr" >gdFTStringExtraPtr</a></td><td class=SDescription>A structure and associated pointer type used to pass additional parameters to the <a href="gdft-c.html#gdImageStringFTEx" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageStringFTEx</a> function. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdPoint" >gdPoint</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdPointPtr" >gdPointPtr</a></td><td class=SDescription>Represents a point in the coordinate space of the image; used by <a href="gd-c.html#gdImagePolygon" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImagePolygon</a>, <a href="gd-c.html#gdImageOpenPolygon" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageOpenPolygon</a> and <a href="gd-c.html#gdImageFilledPolygon" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdImageFilledPolygon</a> for polygon drawing.</td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdRect" >gdRect</a></td><td class=SDescription>A rectangle in the coordinate space of the image</td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdRectPtr" >gdRectPtr</a></td><td class=SDescription>A pointer to a <a href="#gdRect" class=LType id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gdRect</a></td></tr><tr class="SGroup"><td class=SEntry><a href="#Color_Composition" >Color Composition</a></td><td class=SDescription></td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdTrueColorAlpha" >gdTrueColorAlpha</a></t!
 d><td class=SDescription>Compose a truecolor value from its components</td></tr><tr class="SGroup"><td class=SEntry><a href="#GifAnim" >GifAnim</a></td><td class=SDescription>Legal values for Disposal. </td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnim" >gdImageGifAnim</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdSink" >gdSink</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdSinkPtr" >gdSinkPtr</a></td><td class=SDescription><b>Note:</b> This interface is <b>obsolete</b> and kept only for <b>compatibility</b>. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Accessor_Macros" >Accessor Macros</a></td><td class=SDescription></td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageTrueColor" >gdImageTrueColor</a></td><td class=SDescription>Whether an image is a truecolor image.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageSX" >gdImageSX</a></td><td class=SDescription>Gets the width (in pixels) of an image.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageSY" >gdImageSY</a></td><td class=SDescription>Gets the height (in pixels) of an image.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageColorsTotal" >gdImageColorsTotal</a></td><td class=SDescription>Gets the number of colors in the palette.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageRed" >gdImageRed</a></td><td class=SDescription>Gets the red component value of a given color.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageGreen" >gdImageGreen</a></td><td class=SDescription>Gets the green component value of a given color.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageBlue" >gdImageBlue</a></td><td class=SDescription>Gets th!
 e blue component value of a given color.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageAlpha" >gdImageAlpha</a></td><td class=SDescription>Gets the alpha component value of a given color.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageGetTransparent" >gdImageGetTransparent</a></td><td class=SDescription>Gets the transparent color of the image.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageGetInterlaced" >gdImageGetInterlaced</a></td><td class=SDescription>Whether an image is interlaced.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImagePalettePixel" >gdImagePalettePixel</a></td><td class=SDescription>Gets the color of a pixel.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageTrueColorPixel" >gdImageTrueColorPixel</a></td><td class=SDescription>Gets the color of a pixel.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageResolutionX" >gdImageResolutionX</a></td><td class=SDescription>Gets the horizontal resolution in DPI.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageResolutionY" >gdImageResolutionY</a></td><td class=SDescription>Gets the vertical resolution in DPI.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Crop" >Crop</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#gdCropMode" >gdCropMode</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Image_Comparison" >Image Comparison</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color_Decomposition"></a>Color Decomposition</h3></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetAlpha"></a>gdTrueColorGetAlpha</h3><div class=CBody><p>Gets the alpha channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetRed"></a>gdTrueColorGetRed</h3><div class=CBody><p>Gets the red channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetGreen"></a>gdTrueColorGetGreen</h3><div class=CBody><p>Gets the green channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetBlue"></a>gdTrueColorGetBlue</h3><div class=CBody><p>Gets the blue channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link10 onMouseOver="ShowTip(event, 'tt7', 'link10')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Effects"></a>Effects</h3><div class=CBody><p>The layering effect</p><p>When pixels are drawn the new colors are “mixed” with the background depending on the effect.</p><p>Note that the effect does not apply to palette images, where pixels are always replaced.</p><h4 class=CHeading>Modes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>gdEffectReplace</td><td class=CDLDescription>replace pixels</td></tr><tr><td class=CDLEntry>gdEffectAlphaBlend</td><td class=CDLDescription>blend pixels, see <a href="gd-c.html#gdAlphaBlend" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt8', 'link11')" onMouseOut="HideTip('tt8')">gdAlphaBlend</a></td></tr><tr><td class=CDLEntry>gdEffectNormal</td><td class=CDLDescription>default mode; same as gdEffectAlphaBlend</td></tr><tr><td class=CDLEntry>gdEffectOverlay</td><td class=CDLDescription>overlay pixels, see <a href="gd-c.html#gdLayerOverlay" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt9', 'link12')" onMouseOut="HideTip('tt9')">gdLayerOverlay</a></td></tr><tr><td class=CDLEntry>gdEffectMultiply</td><td class=CDLDescription>overlay pixels with multiply effect, see <a href="gd-c.html#gdLayerMultiply" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt10', 'link13')" onMouseOut="HideTip('tt10')">gdLayerMultiply</a></td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageAlphaBlending" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt11', 'link14')" onMouseOut="HideTip('tt11')">gdImageAlphaBlending</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color_Quantization"></a>Color Quantization</h3></div></div>
+
+<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="gdPaletteQuantizationMethod"></a>gdPaletteQuantizationMethod</h3><div class=CBody><h4 class=CHeading>Constants</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GD_QUANT_DEFAULT"></a>GD_QUANT_DEFAULT</td><td class=CDLDescription>GD_QUANT_LIQ if libimagequant is available, GD_QUANT_JQUANT otherwise.</td></tr><tr><td class=CDLEntry><a name="GD_QUANT_JQUANT"></a>GD_QUANT_JQUANT</td><td class=CDLDescription>libjpeg’s old median cut.  Fast, but only uses 16-bit color.</td></tr><tr><td class=CDLEntry><a name="GD_QUANT_NEUQUANT"></a>GD_QUANT_NEUQUANT</td><td class=CDLDescription>NeuQuant - approximation using Kohonen neural network.</td></tr><tr><td class=CDLEntry><a name="GD_QUANT_LIQ"></a>GD_QUANT_LIQ</td><td class=CDLDescription>A combination of algorithms used in libimagequant aiming for the highest quality at cost of speed.</td></tr></table><p>Note that GD_QUANT_JQUANT does not retain the alpha channel, and GD_QUANT_NEUQUANT does not support dithering.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd_topal-c.html#gdImageTrueColorToPaletteSetMethod" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt12', 'link15')" onMouseOut="HideTip('tt12')">gdImageTrueColorToPaletteSetMethod</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Transform"></a>Transform</h3></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="gdInterpolationMethod"></a>gdInterpolationMethod</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GD_BELL"></a>GD_BELL</td><td class=CDLDescription>Bell</td></tr><tr><td class=CDLEntry><a name="GD_BESSEL"></a>GD_BESSEL</td><td class=CDLDescription>Bessel</td></tr><tr><td class=CDLEntry><a name="GD_BILINEAR_FIXED"></a>GD_BILINEAR_FIXED</td><td class=CDLDescription>fixed point bilinear</td></tr><tr><td class=CDLEntry><a name="GD_BICUBIC"></a>GD_BICUBIC</td><td class=CDLDescription>Bicubic</td></tr><tr><td class=CDLEntry><a name="GD_BICUBIC_FIXED"></a>GD_BICUBIC_FIXED</td><td class=CDLDescription>fixed point bicubic integer</td></tr><tr><td class=CDLEntry><a name="GD_BLACKMAN"></a>GD_BLACKMAN</td><td class=CDLDescription>Blackman</td></tr><tr><td class=CDLEntry><a name="GD_BOX"></a>GD_BOX</td><td class=CDLDescription>Box</td></tr><tr><td class=CDLEntry><a name="GD_BSPLINE"></a>GD_BSPLINE</td><td class=CDLDescription>BSpline</td></tr><tr><td class=CDLEntry><a name="GD_CATMULLROM"></a>GD_CATMULLROM</td><td class=CDLDescription>Catmullrom</td></tr><tr><td class=CDLEntry><a name="GD_GAUSSIAN"></a>GD_GAUSSIAN</td><td class=CDLDescription>Gaussian</td></tr><tr><td class=CDLEntry><a name="GD_GENERALIZED_CUBIC"></a>GD_GENERALIZED_CUBIC</td><td class=CDLDescription>Generalized cubic</td></tr><tr><td class=CDLEntry><a name="GD_HERMITE"></a>GD_HERMITE</td><td class=CDLDescription>Hermite</td></tr><tr><td class=CDLEntry><a name="GD_HAMMING"></a>GD_HAMMING</td><td class=CDLDescription>Hamming</td></tr><tr><td class=CDLEntry><a name="GD_HANNING"></a>GD_HANNING</td><td class=CDLDescription>Hannig</td></tr><tr><td class=CDLEntry><a name="GD_MITCHELL"></a>GD_MITCHELL</td><td class=CDLDescription>Mitchell</td></tr><tr><td class=CDLEntry><a name="GD_NEAREST_NEIGHBOUR"></a>GD_NEAREST_NEIGHBOUR</td><td class=CDLDescription>Nearest neighbour interpolation</td></tr><tr><td class=CDLEntry><a na!
 me="GD_POWER"></a>GD_POWER</td><td class=CDLDescription>Power</td></tr><tr><td class=CDLEntry><a name="GD_QUADRATIC"></a>GD_QUADRATIC</td><td class=CDLDescription>Quadratic</td></tr><tr><td class=CDLEntry><a name="GD_SINC"></a>GD_SINC</td><td class=CDLDescription>Sinc</td></tr><tr><td class=CDLEntry><a name="GD_TRIANGLE"></a>GD_TRIANGLE</td><td class=CDLDescription>Triangle</td></tr><tr><td class=CDLEntry><a name="GD_WEIGHTED4"></a>GD_WEIGHTED4</td><td class=CDLDescription>4 pixels weighted bilinear interpolation</td></tr><tr><td class=CDLEntry><a name="GD_LINEAR"></a>GD_LINEAR</td><td class=CDLDescription>bilinear interpolation</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_interpolation-c.html#gdImageSetInterpolationMethod" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt13', 'link16')" onMouseOut="HideTip('tt13')">gdImageSetInterpolationMethod</a></li><li><a href="gd_interpolation-c.html#gdImageGetInterpolationMethod" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt14', 'link17')" onMouseOut="HideTip('tt14')">gdImageGetInterpolationMethod</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdImage"></a>gdImage</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdImagePtr"></a>gdImagePtr</h3><div class=CBody><p>The data structure in which gd stores images.  <a href="gd-c.html#gdImageCreate" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt15', 'link18')" onMouseOut="HideTip('tt15')">gdImageCreate</a>, <a href="gd-c.html#gdImageCreateTrueColor" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt16', 'link19')" onMouseOut="HideTip('tt16')">gdImageCreateTrueColor</a> and the various image file-loading functions return a pointer to this type, and the other functions expect to receive a pointer to this type as their first argument.</p><p><b>gdImagePtr</b> is a pointer to <b>gdImage</b>.</p><h4 class=CHeading>See also</h4><p><a href="#Accessor_Macros" class=LGroup >Accessor Macros</a></p><p>(Previous versions of this library encouraged directly manipulating the contents ofthe struct but we are attempting to move away from this practice so the fields are no longer documented here.   If you need to poke at the internals of this struct, feel free to look at <b>gd.h</b>.)</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPointF"></a>gdPointF</h3><div class=CBody><p>Defines a point in a 2D coordinate system using floating point values. x - Floating point position (increase from left to right) y - Floating point Row position (increase from top to bottom)</p></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPointFPtr"></a>gdPointFPtr</h3><div class=CBody><p>Pointer to a <a href="#gdPointF" class=LType id=link20 onMouseOver="ShowTip(event, 'tt1', 'link20')" onMouseOut="HideTip('tt1')">gdPointF</a></p><h4 class=CHeading>See also</h4><p><a href="gd-c.html#gdImageCreate" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt15', 'link21')" onMouseOut="HideTip('tt15')">gdImageCreate</a>, <a href="gd-c.html#gdImageCreateTrueColor" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt16', 'link22')" onMouseOut="HideTip('tt16')">gdImageCreateTrueColor</a>,</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFont"></a>gdFont</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFontPtr"></a>gdFontPtr</h3><div class=CBody><p>A font structure, containing the bitmaps of all characters in a font.   Used to declare the characteristics of a font.  Text-output functions expect these as their second argument, following the <a href="#gdImagePtr" class=LType id=link23 onMouseOver="ShowTip(event, 'tt17', 'link23')" onMouseOut="HideTip('tt17')">gdImagePtr</a> argument.   <a href="gdfonts-c.html#gdFontGetSmall" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt18', 'link24')" onMouseOut="HideTip('tt18')">gdFontGetSmall</a> and <a href="gdfontl-c.html#gdFontGetLarge" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt19', 'link25')" onMouseOut="HideTip('tt19')">gdFontGetLarge</a> both return one.</p><p>You can provide your own font data by providing such a structure and the associated pixel array.  You can determine the width and height of a single character in a font by examining the w and h members of the structure.  If you will not be creating your own fonts, you will not need to concern yourself with the rest of the components of this structure.</p><p>Please see the files gdfontl.c and gdfontl.h for an example of the proper declaration of this structure.</p><blockquote><pre>typedef struct {
+  // # of characters in font
+  int nchars;
+  // First character is numbered... (usually 32 = space)
+  int offset;
+  // Character width and height
+  int w;
+  int h;
+  // Font data; array of characters, one row after another.
+  // Easily included in code, also easily loaded from
+  // data files.
+  char *data;
+} gdFont;</pre></blockquote><p>gdFontPtr is a pointer to gdFont.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Colors"></a>Colors</h3><div class=CBody><p>Colors are always of type int which is supposed to be at least 32 bit large.</p><h4 class=CHeading>Kinds of colors</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>true colors</td><td class=CDLDescription>ARGB values where the alpha channel is stored as most significant, and the blue channel as least significant byte.  Note that the alpha channel only uses the 7 least significant bits.  Don’t rely on the internal representation, though, and use <a href="#gdTrueColorAlpha" class=LMacro id=link26 onMouseOver="ShowTip(event, 'tt7', 'link26')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a> to compose a truecolor value, and <a href="#gdTrueColorGetAlpha" class=LMacro id=link27 onMouseOver="ShowTip(event, 'tt20', 'link27')" onMouseOut="HideTip('tt20')">gdTrueColorGetAlpha</a>, <a href="#gdTrueColorGetRed" class=LMacro id=link28 onMouseOver="ShowTip(event, 'tt21', 'link28')" onMouseOut="HideTip('tt21')">gdTrueColorGetRed</a>, <a href="#gdTrueColorGetGreen" class=LMacro id=link29 onMouseOver="ShowTip(event, 'tt22', 'link29')" onMouseOut="HideTip('tt22')">gdTrueColorGetGreen</a> and <a href="#gdTrueColorGetBlue" class=LMacro id=link30 onMouseOver="ShowTip(event, 'tt23', 'link30')" onMouseOut="HideTip('tt23')">gdTrueColorGetBlue</a> to access the respective channels.</td></tr><tr><td class=CDLEntry>palette indexes</td><td class=CDLDescription>The index of a color palette entry (0-255).</td></tr><tr><td class=CDLEntry>special colors</td><td class=CDLDescription>As listed in the following section.</td></tr></table></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Special_Colors"></a>Special Colors</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="gdStyled"></a>gdStyled</td><td class=CDLDescription>use the current style, see <a href="gd-c.html#gdImageSetStyle" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt24', 'link31')" onMouseOut="HideTip('tt24')">gdImageSetStyle</a></td></tr><tr><td class=CDLEntry><a name="gdBrushed"></a>gdBrushed</td><td class=CDLDescription>use the current brush, see <a href="gd-c.html#gdImageSetBrush" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt25', 'link32')" onMouseOut="HideTip('tt25')">gdImageSetBrush</a></td></tr><tr><td class=CDLEntry><a name="gdStyledBrushed"></a>gdStyledBrushed</td><td class=CDLDescription>use the current style and brush</td></tr><tr><td class=CDLEntry><a name="gdTiled"></a>gdTiled</td><td class=CDLDescription>use the current tile, see <a href="gd-c.html#gdImageSetTile" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt26', 'link33')" onMouseOut="HideTip('tt26')">gdImageSetTile</a></td></tr><tr><td class=CDLEntry><a name="gdTransparent"></a>gdTransparent</td><td class=CDLDescription>indicate transparency, what is not the same as the transparent color index; used for lines only</td></tr><tr><td class=CDLEntry><a name="gdAntiAliased"></a>gdAntiAliased</td><td class=CDLDescription>draw anti aliased</td></tr></table></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSource"></a>gdSource</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSourcePtr"></a>gdSourcePtr</h3><div class=CBody><p><b>Note:</b> This interface is <b>obsolete</b> and kept only for *compatibility.   Use <a href="gd_io-h.html#gdIOCtx" class=LType id=link34 onMouseOver="ShowTip(event, 'tt27', 'link34')" onMouseOut="HideTip('tt27')">gdIOCtx</a> instead.</p><p>Represents a source from which a PNG can be read.  Programmers who do not wish to read PNGs from a file can provide their own alternate input mechanism, using the <a href="gd_ss-c.html#gdImageCreateFromPngSource" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt28', 'link35')" onMouseOut="HideTip('tt28')">gdImageCreateFromPngSource</a> function.  See the documentation of that function for an example of the proper use of this type.</p><blockquote><pre>typedef struct {
+        int (*source) (void *context, char *buffer, int len);
+        void *context;
+} gdSource, *gdSourcePtr;</pre></blockquote><p>The source function must return -1 on error, otherwise the number of bytes fetched.  0 is EOF, not an error!</p><p>’context’ will be passed to your source function.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFTStringExtra"></a>gdFTStringExtra</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFTStringExtraPtr"></a>gdFTStringExtraPtr</h3><div class=CBody><p>A structure and associated pointer type used to pass additional parameters to the <a href="gdft-c.html#gdImageStringFTEx" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt2', 'link36')" onMouseOut="HideTip('tt2')">gdImageStringFTEx</a> function.  See <a href="gdft-c.html#gdImageStringFTEx" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt2', 'link37')" onMouseOut="HideTip('tt2')">gdImageStringFTEx</a> for the structure definition.</p><p>Thanks to Wez Furlong.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPoint"></a>gdPoint</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPointPtr"></a>gdPointPtr</h3><div class=CBody><p>Represents a point in the coordinate space of the image; used by <a href="gd-c.html#gdImagePolygon" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt3', 'link38')" onMouseOut="HideTip('tt3')">gdImagePolygon</a>, <a href="gd-c.html#gdImageOpenPolygon" class=LFunction id=link39 onMouseOver="ShowTip(event, 'tt4', 'link39')" onMouseOut="HideTip('tt4')">gdImageOpenPolygon</a> and <a href="gd-c.html#gdImageFilledPolygon" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt5', 'link40')" onMouseOut="HideTip('tt5')">gdImageFilledPolygon</a> for polygon drawing.</p><blockquote><pre>typedef struct {
+    int x, y;
+} gdPoint, *gdPointPtr;</pre></blockquote></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdRect"></a>gdRect</h3><div class=CBody><p>A rectangle in the coordinate space of the image</p><h4 class=CHeading>Members</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>The width.</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>The height.</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdRectPtr"></a>gdRectPtr</h3><div class=CBody><p>A pointer to a <a href="#gdRect" class=LType id=link41 onMouseOver="ShowTip(event, 'tt6', 'link41')" onMouseOut="HideTip('tt6')">gdRect</a></p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color_Composition"></a>Color Composition</h3></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorAlpha"></a>gdTrueColorAlpha</h3><div class=CBody><p>Compose a truecolor value from its components</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>r</td><td class=CDLDescription>The red channel (0-255)</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The green channel (0-255)</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The blue channel (0-255)</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>The alpha channel (0-127, where 127 is fully transparent, and 0 is completely opaque).</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorGetAlpha" class=LMacro id=link42 onMouseOver="ShowTip(event, 'tt20', 'link42')" onMouseOut="HideTip('tt20')">gdTrueColorGetAlpha</a></li><li><a href="#gdTrueColorGetRed" class=LMacro id=link43 onMouseOver="ShowTip(event, 'tt21', 'link43')" onMouseOut="HideTip('tt21')">gdTrueColorGetRed</a></li><li><a href="#gdTrueColorGetGreen" class=LMacro id=link44 onMouseOver="ShowTip(event, 'tt22', 'link44')" onMouseOut="HideTip('tt22')">gdTrueColorGetGreen</a></li><li><a href="#gdTrueColorGetBlue" class=LMacro id=link45 onMouseOver="ShowTip(event, 'tt23', 'link45')" onMouseOut="HideTip('tt23')">gdTrueColorGetBlue</a></li><li><a href="gd-c.html#gdImageColorExactAlpha" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt29', 'link46')" onMouseOut="HideTip('tt29')">gdImageColorExactAlpha</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="GifAnim"></a>GifAnim</h3><div class=CBody><p>Legal values for Disposal. gdDisposalNone is always used by the built-in optimizer if previm is passed.</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnim"></a>gdImageGifAnim</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="gdDisposalUnknown"></a>gdDisposalUnknown</td><td class=CDLDescription>Not recommended</td></tr><tr><td class=CDLEntry><a name="gdDisposalNone"></a>gdDisposalNone</td><td class=CDLDescription>Preserve previous frame</td></tr><tr><td class=CDLEntry><a name="gdDisposalRestoreBackground"></a>gdDisposalRestoreBackground</td><td class=CDLDescription>First allocated color of palette</td></tr><tr><td class=CDLEntry><a name="gdDisposalRestorePrevious"></a>gdDisposalRestorePrevious</td><td class=CDLDescription>Restore to before start of frame</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_gif_out-c.html#gdImageGifAnimAdd" class=LFunction id=link47 onMouseOver="ShowTip(event, 'tt30', 'link47')" onMouseOut="HideTip('tt30')">gdImageGifAnimAdd</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSink"></a>gdSink</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSinkPtr"></a>gdSinkPtr</h3><div class=CBody><p><b>Note:</b> This interface is <b>obsolete</b> and kept only for <b>compatibility</b>.   Use <a href="gd_io-h.html#gdIOCtx" class=LType id=link48 onMouseOver="ShowTip(event, 'tt27', 'link48')" onMouseOut="HideTip('tt27')">gdIOCtx</a> instead.</p><p>Represents a “sink” (destination) to which a PNG can be written.  Programmers who do not wish to write PNGs to a file can provide their own alternate output mechanism, using the <a href="gd_ss-c.html#gdImagePngToSink" class=LFunction id=link49 onMouseOver="ShowTip(event, 'tt31', 'link49')" onMouseOut="HideTip('tt31')">gdImagePngToSink</a> function.  See the documentation of that function for an example of the proper use of this type.</p><blockquote><pre>typedef struct {
+    int (*sink) (void *context, char *buffer, int len);
+    void *context;
+} gdSink, *gdSinkPtr;</pre></blockquote><p>The <u>sink</u> function must return -1 on error, otherwise the number of bytes written, which must be equal to len.</p><p><u>context</u> will be passed to your sink function.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Accessor_Macros"></a>Accessor Macros</h3></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageTrueColor"></a>gdImageTrueColor</h3><div class=CBody><p>Whether an image is a truecolor image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero if the image is a truecolor image, zero for palette images.</p></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageSX"></a>gdImageSX</h3><div class=CBody><p>Gets the width (in pixels) of an image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageSY"></a>gdImageSY</h3><div class=CBody><p>Gets the height (in pixels) of an image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageColorsTotal"></a>gdImageColorsTotal</h3><div class=CBody><p>Gets the number of colors in the palette.</p><p>This macro is only valid for palette images.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image</td></tr></table></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageRed"></a>gdImageRed</h3><div class=CBody><p>Gets the red component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageGreen"></a>gdImageGreen</h3><div class=CBody><p>Gets the green component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageBlue"></a>gdImageBlue</h3><div class=CBody><p>Gets the blue component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageAlpha"></a>gdImageAlpha</h3><div class=CBody><p>Gets the alpha component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageGetTransparent"></a>gdImageGetTransparent</h3><div class=CBody><p>Gets the transparent color of the image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageColorTransparent" class=LFunction id=link50 onMouseOver="ShowTip(event, 'tt32', 'link50')" onMouseOut="HideTip('tt32')">gdImageColorTransparent</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageGetInterlaced"></a>gdImageGetInterlaced</h3><div class=CBody><p>Whether an image is interlaced.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero for interlaced images, zero otherwise.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageInterlace" class=LFunction id=link51 onMouseOver="ShowTip(event, 'tt33', 'link51')" onMouseOut="HideTip('tt33')">gdImageInterlace</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImagePalettePixel"></a>gdImagePalettePixel</h3><div class=CBody><p>Gets the color of a pixel.</p><p>Calling this macro is only valid for palette images.  No bounds checking is done for the coordinates.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageTrueColorPixel" class=LMacro id=link52 onMouseOver="ShowTip(event, 'tt34', 'link52')" onMouseOut="HideTip('tt34')">gdImageTrueColorPixel</a></li><li><a href="gd-c.html#gdImageGetPixel" class=LFunction id=link53 onMouseOver="ShowTip(event, 'tt35', 'link53')" onMouseOut="HideTip('tt35')">gdImageGetPixel</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageTrueColorPixel"></a>gdImageTrueColorPixel</h3><div class=CBody><p>Gets the color of a pixel.</p><p>Calling this macro is only valid for truecolor images.  No bounds checking is done for the coordinates.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImagePalettePixel" class=LMacro id=link54 onMouseOver="ShowTip(event, 'tt36', 'link54')" onMouseOut="HideTip('tt36')">gdImagePalettePixel</a></li><li><a href="gd-c.html#gdImageGetTrueColorPixel" class=LFunction id=link55 onMouseOver="ShowTip(event, 'tt37', 'link55')" onMouseOut="HideTip('tt37')">gdImageGetTrueColorPixel</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageResolutionX"></a>gdImageResolutionX</h3><div class=CBody><p>Gets the horizontal resolution in DPI.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageResolutionY" class=LMacro id=link56 onMouseOver="ShowTip(event, 'tt38', 'link56')" onMouseOut="HideTip('tt38')">gdImageResolutionY</a></li><li><a href="gd-c.html#gdImageSetResolution" class=LFunction id=link57 onMouseOver="ShowTip(event, 'tt39', 'link57')" onMouseOut="HideTip('tt39')">gdImageSetResolution</a></li></ul></div></div></div>
+
+<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageResolutionY"></a>gdImageResolutionY</h3><div class=CBody><p>Gets the vertical resolution in DPI.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageResolutionX" class=LMacro id=link58 onMouseOver="ShowTip(event, 'tt40', 'link58')" onMouseOut="HideTip('tt40')">gdImageResolutionX</a></li><li><a href="gd-c.html#gdImageSetResolution" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt39', 'link59')" onMouseOut="HideTip('tt39')">gdImageSetResolution</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Crop"></a>Crop</h3></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="gdCropMode"></a>gdCropMode</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GD_CROP_DEFAULT"></a>GD_CROP_DEFAULT</td><td class=CDLDescription>Same as GD_CROP_TRANSPARENT</td></tr><tr><td class=CDLEntry><a name="GD_CROP_TRANSPARENT"></a>GD_CROP_TRANSPARENT</td><td class=CDLDescription>Crop using the transparent color</td></tr><tr><td class=CDLEntry><a name="GD_CROP_BLACK"></a>GD_CROP_BLACK</td><td class=CDLDescription>Crop black borders</td></tr><tr><td class=CDLEntry><a name="GD_CROP_WHITE"></a>GD_CROP_WHITE</td><td class=CDLDescription>Crop white borders</td></tr><tr><td class=CDLEntry><a name="GD_CROP_SIDES"></a>GD_CROP_SIDES</td><td class=CDLDescription>Crop using colors of the 4 corners</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_crop-c.html#gdImageCropAuto" class=LFunction id=link60 onMouseOver="ShowTip(event, 'tt41', 'link60')" onMouseOut="HideTip('tt41')">gdImageCropAuto</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Image_Comparison"></a>Image Comparison</h3><div class=CBody><h4 class=CHeading>Constants</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>GD_CMP_IMAGE</td><td class=CDLDescription>Actual image IS different</td></tr><tr><td class=CDLEntry>GD_CMP_NUM_COLORS</td><td class=CDLDescription>Number of colors in pallette differ</td></tr><tr><td class=CDLEntry>GD_CMP_COLOR</td><td class=CDLDescription>Image colors differ</td></tr><tr><td class=CDLEntry>GD_CMP_SIZE_X</td><td class=CDLDescription>Image width differs</td></tr><tr><td class=CDLEntry>GD_CMP_SIZE_Y</td><td class=CDLDescription>Image heights differ</td></tr><tr><td class=CDLEntry>GD_CMP_TRANSPARENT</td><td class=CDLDescription>Transparent color differs</td></tr><tr><td class=CDLEntry>GD_CMP_BACKGROUND</td><td class=CDLDescription>Background color differs</td></tr><tr><td class=CDLEntry>GD_CMP_INTERLACE</td><td class=CDLDescription>Interlaced setting differs</td></tr><tr><td class=CDLEntry>GD_CMP_TRUECOLOR</td><td class=CDLDescription>Truecolor vs palette differs</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageCompare" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt42', 'link61')" onMouseOut="HideTip('tt42')">gdImageCompare</a></li></ul></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd.h</div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a!
 ></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../!
 index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CType>Defines a point in a 2D coordinate system using floating point values. </div></div><div class=CToolTip id="tt2"><div class=CFunction>gdImageStringFTEx extends the capabilities of gdImageStringFT by providing a way to pass additional parameters.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a closed polygon</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws an open polygo!
 n</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdPointPtr </td><td class="PParameter  prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>c</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a filled polygon</div></div><div class=CToolTip id="tt6"><div class=CType>A rectangle in the coordinate space of the image</div></div><div class=CToolTip id="tt7"><div class=CMacro>Compose a truecolor value from its components</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Blend two colors</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prett!
 yprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors with multiply effect</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the effect for subsequent drawing operations</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageTrueColorToPaletteSetMethod (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td c!
 lass="PParameter  prettyprint " nowrap>method,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>speed</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Selects the quantization method</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdInterpolationMethod </td><td class="PParameter  prettyprint " nowrap>id</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the interpolation method for subsequent operations</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Get the current interpolation method</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sy</td><td cla!
 ss="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreate is called to create palette-based images, with no more than 256 colors. </div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sy</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. </div></div><div class=CToolTip id="tt17"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdFontPtr gdFontGetSmall (</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in small font.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdFontPtr gdFontGetLarge (</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in large font.</div></div><div class=CToolTip id="tt20"><div class=CMacro>Gets the alpha channel value</div></div><div class=CToolTip id="tt21">!
 <div class=CMacro>Gets the red channel value</div></div><div class=CToolTip id="tt22"><div class=CMacro>Gets the green channel value</div></div><div class=CToolTip id="tt23"><div class=CMacro>Gets the blue channel value</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the style for following drawing operations</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>brush</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the brush for following drawing operations</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParamet!
 ers  prettyprint "nowrap>void gdImageSetTile (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>tile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt27"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromPngSource (</td><td class="PType  prettyprint " nowrap>gdSourcePtr </td><td class="PParameter  prettyprint " nowrap>inSource</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng for documentation. </div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>a</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exa!
 ct color of the image</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>previm</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function writes GIF animation frames to GIF animation, which was initialized with gdImageGifAnimBegin. </div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cell!
 spacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePngToSink (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdSinkPtr </td><td class="PParameter  prettyprint " nowrap>outSink</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the transparent color of the image</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageInterlace (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt34"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><t!
 r><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color as stored in the image.</div></div><div class=CToolTip id="tt36"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color always as truecolor value.</div></div><div class=CToolTip id="tt38"><div class=CMacro>Gets the vertical resolution in DPI.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td clas!
 s="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>res_y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the resolution of an image.</div></div><div class=CToolTip id="tt40"><div class=CMacro>Gets the horizontal resolution in DPI.</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image automatically</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageCompare (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Compare two images</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>BMP IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="BMP_IO"></a>BMP IO</h1><div class=CBody><p>Read and write BMP images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#BMP_IO" >BMP IO</a></td><td class=SDescription>Read and write BMP images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageBmpPtr" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageBmpPtr</a></td><td class=SDescription>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageBmp" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageBmp</a></td><td class=SDescription><a href="#gdImageBmp" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageBmp</a> outputs the specified image to the specified file in BMP format. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageBmpCtx" id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdImageBmpCtx</a></td><td class=SDescription>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link6 onMouseOver="ShowTip(event, 'tt2', 'link6')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromBmp" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageCreateFromBmp</a></td><td class=SDescription></td></tr><tr class="SF!
 unction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromBmpPtr" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageCreateFromBmpPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromBmpCtx" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdImageCreateFromBmpCtx</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBmpPtr"></a>gdImageBmpPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageBmpPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>compression</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link10 onMouseOver="ShowTip(event, 'tt2', 'link10')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file.  See <a href="#gdImageBmp" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt3', 'link11')" onMouseOut="HideTip('tt3')">gdImageBmp</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: size in bytes of the result.</td></tr><tr><td class=CDLEntry>compression</td><td class=CDLDescription>whether to apply RLE or not.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to memory containing the image data or NULL on error.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBmp"></a>gdImageBmp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageBmp(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>compression</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageBmp" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt3', 'link12')" onMouseOut="HideTip('tt3')">gdImageBmp</a> outputs the specified image to the specified file in BMP format.  The file must be open for writing.  Under MSDOS and all versions of Windows, it is important to use “wb” as opposed to simply “w” as the mode when opening the file, and under Unix there is no penalty for doing so.  <a href="#gdImageBmp" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt3', 'link13')" onMouseOut="HideTip('tt3')">gdImageBmp</a> does not close the file; your code must do so.</p><p>In addition, <a href="#gdImageBmp" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt3', 'link14')" onMouseOut="HideTip('tt3')">gdImageBmp</a> allows to specify whether RLE compression should be applied.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageBmpCtx" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt4', 'link15')" onMouseOut="HideTip('tt4')">gdImageBmpCtx</a> write via a <a href="gd_io-h.html#gdIOCtx" !
 class=LType id=link16 onMouseOver="ShowTip(event, 'tt2', 'link16')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file handle.</p><p><a href="#gdImageBmpPtr" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">gdImageBmpPtr</a> store the image file to memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>the output FILE* object.</td></tr><tr><td class=CDLEntry>compression</td><td class=CDLDescription>whether to apply RLE or not.</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBmpCtx"></a>gdImageBmpCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageBmpCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>compression</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file.  See <a href="#gdImageBmp" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt3', 'link19')" onMouseOut="HideTip('tt3')">gdImageBmp</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>the <a href="gd_io-h.html#gdIOCtx" class=LType id=link20 onMouseOver="ShowTip(event, 'tt2', 'link20')" onMouseOut="HideTip('tt2')">gdIOCtx</a> to write to.</td></tr><tr><td class=CDLEntry>compression</td><td class=CDLDescription>whether to apply RLE or not.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromBmp"></a>gdImageCreateFromBmp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromBmp(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromBmpPtr"></a>gdImageCreateFromBmpPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpPtr(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromBmpCtx"></a>gdImageCreateFromBmpCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>infile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile id=MSelected>BMP IO</div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></d!
 iv></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../inde!
 x/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([1], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageBmpPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>compression</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt2"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageBmp(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>compression</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageBmp outputs the specified image to the specifie!
 d file in BMP format. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageBmpCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>compression</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromBmp(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpPtr(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "!
 nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>infile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdColorMapLookup</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdColorMapLookup"></a>gdColorMapLookup</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdColorMapLookup(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdColorMap </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>color_map,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>color_name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdColorMapLookup</div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Cons!
 tants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdImageColorMatch</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdImageColorMatch"></a>gdImageColorMatch</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColorMatch (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Bring the palette colors in im2 to be closer to im1.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdImageColorMatch</div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Consta!
 nts.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Cropping</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Cropping"></a>Cropping</h1><div class=CBody><p>Crop an image</p><p>Some functions to crop images, automatically (auto detection of the border color), using a given color (with or without tolerance) or using a given rectangle.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">im2 = gdImageAutoCrop(im, GD_CROP_SIDES);
+if (im2) {
+    gdImageDestroy(im); // unless you need the original image subsequently
+    // do something with the cropped image
+}
+gdImageDestroy(im2);</pre></blockquote><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Cropping" >Cropping</a></td><td class=SDescription>Crop an image</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCrop" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCrop</a></td><td class=SDescription>Crop an image to a given rectangle</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCropAuto" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCropAuto</a></td><td class=SDescription>Crop an image automatically</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCropThreshold" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCropThreshold</a></td><td class=SDescription>Crop an image using a given color</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCrop"></a>gdImageCrop</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCrop(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdRect </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>crop</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Crop an image to a given rectangle</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>crop</td><td class=CDLDescription>The cropping rectangle, see <a href="gd-h.html#gdRect" class=LType id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdRect</a>.</td></tr></table><h4 class=CHeading>Returns</h4><p>The newly created cropped image, or NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCropAuto" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt2', 'link5')" onMouseOut="HideTip('tt2')">gdImageCropAuto</a></li><li><a href="#gdImageCropThreshold" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt3', 'link6')" onMouseOut="HideTip('tt3')">gdImageCropThreshold</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCropAuto"></a>gdImageCropAuto</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Crop an image automatically</p><p>This function detects the cropping area according to the given <u>mode</u>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>The cropping mode, see <a href="gd-h.html#gdCropMode" class=LConstant >gdCropMode</a>.</td></tr></table><h4 class=CHeading>Returns</h4><p>The newly created cropped image, or NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCrop" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt1', 'link7')" onMouseOut="HideTip('tt1')">gdImageCrop</a></li><li><a href="#gdImageCropThreshold" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt3', 'link8')" onMouseOut="HideTip('tt3')">gdImageCropThreshold</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCropThreshold"></a>gdImageCropThreshold</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCropThreshold(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>threshold</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Crop an image using a given color</p><p>The <u>threshold</u> defines the tolerance to be used while comparing the image color and the color to crop.  The method used to calculate the color difference is based on the color distance in the RGB(A) cube.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The crop color.</td></tr><tr><td class=CDLEntry>threshold</td><td class=CDLDescription>The crop threshold.</td></tr></table><h4 class=CHeading>Returns</h4><p>The newly created cropped image, or NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCrop" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">gdImageCrop</a></li><li><a href="#gdImageCropAuto" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt2', 'link10')" onMouseOut="HideTip('tt2')">gdImageCropAuto!
 </a></li></ul></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile id=MSelected>Cropping</div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></di!
 v></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index!
 /Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCrop(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdRect </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>crop</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image to a given rectangle</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image automatically</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCropThreshold(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " now!
 rap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>threshold</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image using a given color</div></div><div class=CToolTip id="tt4"><div class=CType>A rectangle in the coordinate space of the image</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/root/workspace/hanqiang/libgd_release_2.3.1/libgd/docs/naturaldocs/tmp/gd_filename.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_filename.c"></a>gd_filename.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_filename.c" >gd_filename.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdSupportsFileType" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdSupportsFileType</a></td><td class=SDescription>Tests if a given file type is supported by GD.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromFile" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a></td><td class=SDescription>Read an image file of any supported.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFile" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageFile</a></td><td class=SDescription>Writes an image to a file in the format indicated by the filename.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdSupportsFileType"></a>gdSupportsFileType</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdSupportsFileType(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>writing</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Tests if a given file type is supported by GD.</p><p>Given the name of an image file (which does not have to exist), returns 1 (i.e.  TRUE) if <a href="#gdImageCreateFromFile" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a> can read a file of that type.   This is useful if you do not know which image types were enabled at compile time.</p><p>If <u>writing</u> is true, the result will be true only if <a href="#gdImageFile" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageFile</a> can write a file of this type.</p><p>Note that filename parsing is done exactly the same as is done by <a href="#gdImageCreateFromFile" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt2', 'link6')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a> and <a href="#gdImageFile" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt3', 'link7')" onMouseOut="HideTip('tt3')">gdImageFile</a> and is subject to the same limitations.</p><p>Assuming LibGD is compiled with support for these image types, !
 the following extensions are supported:</p><ul><li>.gif</li><li>.gd, .gd2</li><li>.wbmp</li><li>.bmp</li><li>.xbm</li><li>.tga</li><li>.png</li><li>.jpg, .jpeg</li><li>.tiff, .tif</li><li>.webp</li><li>.xpm</li></ul><p>Names are parsed case-insenstively.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>Filename with tested extension.</td></tr><tr><td class=CDLEntry>writing</td><td class=CDLDescription>Flag: true tests if writing works</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE (1) if the file type is supported, GD_FALSE (0) if not.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromFile"></a>gdImageCreateFromFile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromFile(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Read an image file of any supported.</p><p>Given the path to a file, <a href="#gdImageCreateFromFile" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt2', 'link8')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a> will open the file, read its contents with the appropriate <u>gdImageCreateFrom*</u> function and return it.</p><p>File type is determined by the filename extension, so having an incorrect extension will probably not work.   For example, renaming PNG image “foo.png” to “foo.gif” and then attempting to load it will fail even if GD supports both formats.   See <gdSupportsFiletype> for more details.</p><p>NULL is returned on error.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>the input file name</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFile"></a>gdImageFile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageFile(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Writes an image to a file in the format indicated by the filename.</p><p>File type is determined by the extension of the file name.   See <gdSupportsFiletype> for an overview of the parsing.</p><p>For file types that require extra arguments, <a href="#gdImageFile" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt3', 'link9')" onMouseOut="HideTip('tt3')">gdImageFile</a> attempts to use sane defaults:</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><gdImageGd2></td><td class=CDLDescription>chunk size = 0, compression is enabled.</td></tr><tr><td class=CDLEntry><gdImageJpeg></td><td class=CDLDescription>quality = -1 (i.e. the reasonable default)</td></tr><tr><td class=CDLEntry><gdImageWBMP></td><td class=CDLDescription>foreground is the darkest available color</td></tr></table><p>Everything else is called with the two-argument function and so will use the default values.</p><p><a href="#gdImageFile" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt3', 'link10')" onMouseOut="HideTip('tt3')">gdImageFile</a> has some rudimentary error detection and will re!
 turn GD_FALSE (0) if a detectable error occurred.   However, the image loaders do not normally return their error status so a result of GD_TRUE (1) does **not** mean the file was saved successfully.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to save.</td></tr><tr><td class=CDLEntry>filename</td><td class=CDLDescription>The path to the file to which the image is saved.</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_FALSE (0) if an error was detected, GD_TRUE (1) if not.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_filename.c</div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></!
 div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Con!
 stants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdSupportsFileType(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>writing</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Tests if a given file type is supported by GD.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromFile(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Read an image file of any supported.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageFile(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettypri!
 nt " nowrap>const </td><td class="PType  prettyprint " nowrap>char </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes an image to a file in the format indicated by the filename.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Image Filters</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Image_Filters"></a>Image Filters</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Image_Filters" >Image Filters</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageScatter" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageScatter</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageScatterColor" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageScatterColor</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageScatterEx" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageScatterEx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImagePixelate" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImagePixelate</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageNegate" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdImageNegate</a></td><td class=SDescription>Invert an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGrayScale" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gdImageGrayScale</a></td><td class=SDescription>Convert an image to grayscale</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageBrightness" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('!
 tt7')">gdImageBrightness</a></td><td class=SDescription>Change the brightness of an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageContrast" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">gdImageContrast</a></td><td class=SDescription>Change the contrast of an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColor" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">gdImageColor</a></td><td class=SDescription>Change channel values of an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageConvolution" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></td><td class=SDescription>Apply a convolution matrix to an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSelectiveBlur" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">gdImageSelectiveBlur</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageEdgeDetectQuick" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">gdImageEdgeDetectQuick</a></td><td class=SDescription>Edge detection of an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGaussianBlur" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a></td><td class=SDescription><a href="#gdImageGaussianBlur" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt13', 'link14')" onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a> performs a Gaussian blur of radius 1 on the image. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageEmboss" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">gdImageEmboss</a></td><td class=SDescription>Emboss an image</td></tr><tr class="SFunction SInden!
 t1 SMarked"><td class=SEntry><a href="#gdImageMeanRemoval" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">gdImageMeanRemoval</a></td><td class=SDescription>Mean removal of an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSmooth" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">gdImageSmooth</a></td><td class=SDescription>Smooth an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyGaussianBlurred" >gdImageCopyGaussianBlurred</a></td><td class=SDescription>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScatter"></a>gdImageScatter</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageScatter(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>plus</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScatterColor"></a>gdImageScatterColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageScatterColor(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>plus,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>colors[],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>num_colors</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScatterEx"></a>gdImageScatterEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageScatterEx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdScatterPtr </td><td class="PParameter  prettyprint " nowrap>scatter</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePixelate"></a>gdImagePixelate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImagePixelate(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>block_size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageNegate"></a>gdImageNegate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageNegate(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Invert an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGrayScale"></a>gdImageGrayScale</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGrayScale(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Convert an image to grayscale</p><p>The red, green and blue components of each pixel are replaced by their weighted sum using the same coefficients as the REC.601 luma (Y’) calculation.  The alpha components are retained.</p><p>For palette images the result may differ due to palette limitations.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBrightness"></a>gdImageBrightness</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageBrightness(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>brightness</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Change the brightness of an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>brightness</td><td class=CDLDescription>The value to add to the color channels of all pixels.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageContrast" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt8', 'link18')" onMouseOut="HideTip('tt8')">gdImageContrast</a></li><li><a href="#gdImageColor" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt9', 'link19')" onMouseOut="HideTip('tt9')">gdImageColor</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageContrast"></a>gdImageContrast</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageContrast(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>contrast</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Change the contrast of an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>contrast</td><td class=CDLDescription>The contrast adjustment value.  Negative values increase, postive values decrease the contrast.  The larger the absolute value, the stronger the effect.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageBrightness" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt7', 'link20')" onMouseOut="HideTip('tt7')">gdImageBrightness</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColor"></a>gdImageColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColor(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>red,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>green,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>blue,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>alpha</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Change channel values of an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>red</td><td class=CDLDescription>The value to add to the red channel of all pixels.</td></tr><tr><td class=CDLEntry>green</td><td class=CDLDescription>The value to add to the green channel of all pixels.</td></tr><tr><td class=CDLEntry>blue</td><td class=CDLDescription>The value to add to the blue channel of all pixels.</td></tr><tr><td class=CDLEntry>alpha</td><td class=CDLDescription>The value to add to the alpha channel of all pixels.</td></tr></table><h4 class=CH!
 eading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageBrightness" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt7', 'link21')" onMouseOut="HideTip('tt7')">gdImageBrightness</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageConvolution"></a>gdImageConvolution</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageConvolution(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>filter[3][3],</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>filter_div,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>offset</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Apply a convolution matrix to an image</p><p>Depending on the matrix a wide range of effects can be accomplished, e.g. blurring, sharpening, embossing and edge detection.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>filter</td><td class=CDLDescription>The 3x3 convolution matrix.</td></tr><tr><td class=CDLEntry>filter_div</td><td class=CDLDescription>The value to divide the convoluted channel values by.</td></tr><tr><td class=CDLEntry>offset</td><td class=CDLDescription>The value to add to the convoluted channel values.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageEdgeDetectQuick" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt12', 'link22')" onMouseOut="HideTip('tt12')">gdImageEdgeDetectQuick</a></li><li><a href="#gdImageGaussianBlur" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt13', 'link23')!
 " onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a></li><li><a href="#gdImageEmboss" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt14', 'link24')" onMouseOut="HideTip('tt14')">gdImageEmboss</a></li><li><a href="#gdImageMeanRemoval" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt15', 'link25')" onMouseOut="HideTip('tt15')">gdImageMeanRemoval</a></li><li><a href="#gdImageSmooth" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt16', 'link26')" onMouseOut="HideTip('tt16')">gdImageSmooth</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSelectiveBlur"></a>gdImageSelectiveBlur</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageSelectiveBlur(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageEdgeDetectQuick"></a>gdImageEdgeDetectQuick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageEdgeDetectQuick(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Edge detection of an image</p><img src="../images/edge_detect_quick.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageMeanRemoval" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt15', 'link27')" onMouseOut="HideTip('tt15')">gdImageMeanRemoval</a></li><li><a href="#gdImageConvolution" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt10', 'link28')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGaussianBlur"></a>gdImageGaussianBlur</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGaussianBlur(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageGaussianBlur" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt13', 'link29')" onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a> performs a Gaussian blur of radius 1 on the image.   The image is modified in place.</p><p><b>NOTE:</b> You will almost certain want to use <a href="#gdImageCopyGaussianBlurred" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt17', 'link30')" onMouseOut="HideTip('tt17')">gdImageCopyGaussianBlurred</a> instead, as it allows you to change your kernel size and sigma value.   Future versions of this function may fall back to calling it instead of <a href="#gdImageConvolution" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt10', 'link31')" onMouseOut="HideTip('tt10')">gdImageConvolution</a>, causing subtle changes so be warned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to blur</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE (1) on success, GD_FALSE (0) on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageEmboss"></a>gdImageEmboss</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageEmboss(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Emboss an image</p><img src="../images/emboss.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageConvolution" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt10', 'link32')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageMeanRemoval"></a>gdImageMeanRemoval</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageMeanRemoval(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Mean removal of an image</p><img src="../images/mean_removal.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageEdgeDetectQuick" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt12', 'link33')" onMouseOut="HideTip('tt12')">gdImageEdgeDetectQuick</a></li><li><a href="#gdImageConvolution" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt10', 'link34')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSmooth"></a>gdImageSmooth</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageSmooth(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Smooth an image</p><img src="../images/smooth.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>weight</td><td class=CDLDescription>The strength of the smoothing.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageConvolution" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt10', 'link35')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyGaussianBlurred"></a>gdImageCopyGaussianBlurred</h3><div class=CBody><p>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</p><p><u>radius</u> is a radius, not a diameter so a radius of 2 (for example) will blur across a region 5 pixels across (2 to the center, 1 for the center itself and another 2 to the other edge).</p><p><u>sigma</u> represents the “fatness” of the curve (lower == fatter).  If <u>sigma</u> is less than or equal to 0, <a href="#gdImageCopyGaussianBlurred" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt17', 'link36')" onMouseOut="HideTip('tt17')">gdImageCopyGaussianBlurred</a> ignores it and instead computes an “optimal” value.   Be warned that future versions of this function may compute sigma differently.</p><p>The resulting image is always truecolor.</p><h4 class=CHeading>More Details</h4><p>A Gaussian Blur is generated by replacing each pixel’s color values with the average of the surrounding pixels’ colors.   This region is a circle whose radius is given by argument <u>radius</u>.  Thus, a larger radius will yield a blurrier image.</p><p>This average is not a simple mean of the values.   Instead, values are weighted using the Gaussian function (roughly a bell curve centered around the destination pixel) giving it much more influence on the result than its neighbours.   Thus, a fatter curve will give the center pixel more weight and make the image less blurry; lower <u>sigma</u> values will yield flatter curves.</p><p>Currently, <a href="#gdImageCopyGaussianBlurred" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt17', 'link37')" onMouseOut="HideTip('tt17')">gdImageCopyGaussianBlurred</a> computes the default sigma as</p><p>(2/3)*radius</p><p>Note, however that we reserve the right to change this if we find a better ratio.   If you absolutely need the cu!
 rrent sigma value, you should set it yourself.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>the source image</td></tr><tr><td class=CDLEntry>radius</td><td class=CDLDescription>the blur radius (<b>not</b> diameter--range is 2*radius + 1)</td></tr><tr><td class=CDLEntry>sigma</td><td class=CDLDescription>the sigma value or a value <= 0.0 to use the computed default</td></tr></table><h4 class=CHeading>Returns</h4><p>The new image or NULL if an error occurred.   The result is always truecolor.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">FILE *in;
+gdImagePtr result, src;
+
+in = fopen("foo.png", "rb");
+src = gdImageCreateFromPng(in);
+
+result = gdImageCopyGaussianBlurred(im, src->sx / 10, -1.0);</pre></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile id=MSelected>Image Filters</div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/C!
 onstants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageScatter(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>plus</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageScatterColor(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>plus,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>colors[],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>num_colors</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquo!
 te><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageScatterEx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdScatterPtr </td><td class="PParameter  prettyprint " nowrap>scatter</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImagePixelate(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>block_size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>mode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageNegate(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Invert an image</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellp!
 adding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGrayScale(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert an image to grayscale</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageBrightness(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>brightness</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the brightness of an image</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageContrast(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>contrast</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the contrast of an image</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageColor(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr!
  </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>red,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>green,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>blue,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>alpha</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change channel values of an image</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageConvolution(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>filter[3][3],</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>filter_div,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>offset</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Apply a convolution matrix to an image</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><!
 tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageSelectiveBlur(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageEdgeDetectQuick(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Edge detection of an image</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageGaussianBlur(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGaussianBlur performs a Gaussian blur of radius 1 on the image. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageEmboss(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Emboss an image</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td !
 class="PBeforeParameters  prettyprint "nowrap>int gdImageMeanRemoval(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Mean removal of an image</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageSmooth(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Smooth an image</div></div><div class=CToolTip id="tt17"><div class=CFunction>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GD IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GD_IO"></a>GD IO</h1><div class=CBody><p>Read and write GD images.</p><p>The GD image format is a proprietary image format of libgd.  <b>It has to be</b> <b>regarded as being obsolete, and should only be used for development and</b> <b>testing purposes.</b></p><h4 class=CHeading>Structure of a GD image file</h4><ul><li>file header</li><li>color header (either truecolor or palette)</li><li>image data</li></ul><p>All numbers are stored in big-endian format.  Note that all GD output is done in the GD 2.x format (not to be confused with the GD2 format), but input may also be in the GD 1.x format.</p><h4 class=CHeading>GD 1.x file header structure</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>width</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>1 word</td></tr></table><h4 class=CHeading>GD 1.x color header (palette only)</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>count</td><td class=CDLDescription>1 byte (the number of used palette colors)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 word (257 signals no transparency)</td></tr><tr><td class=CDLEntry>palette</td><td class=CDLDescription>256×3 bytes (RGB triplets)</td></tr></table><h4 class=CHeading>GD 2.x file header structure</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>signature</td><td class=CDLDescription>1 word (“\xFF\xFE” for truecolor, “\xFF\xFF” for palette)</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>1 word</td></tr></table><h4 class=CHeading>GD 2.x truecolor image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDL!
 Description>1 byte (always “\001”)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (ARGB color); “\377\377\377\377” means that no transparent color is set</td></tr></table><h4 class=CHeading>GD 2.x palette image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDLDescription>1 byte (always “\0”)</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>1 word (the number of used palette colors)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (palette index); “\377\377\377\377” means that no transparent color is set</td></tr><tr><td class=CDLEntry>palette</td><td class=CDLDescription>256 dwords (RGBA colors)</td></tr></table><h4 class=CHeading>Image data</h4><p>Sequential pixel data; row-major from top to bottom, left to right:</p><ul><li>1 byte per pixel for palette images</li><li>1 dword (ARGB) per pixel for truecolor images</li></ul><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GD_IO" >GD IO</a></td><td class=SDescription>Read and write GD images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a></td><td class=SDescription><a href="#gdImageCreateFromGd" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> is called to load images from gd format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGdPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromG!
 dPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGdCtx" id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageCreateFromGdCtx</a></td><td class=SDescription>Reads in a GD image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGd" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">gdImageGd</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGdPtr" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">gdImageGdPtr</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd"></a>gdImageCreateFromGd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd (</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGd" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt1', 'link8')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> is called to load images from gd format files.  Invoke <a href="#gdImageCreateFromGd" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> with an already opened pointer to a file containing the desired image in the gd file format, which is specific to gd and intended for very fast loading.  (It is not intended for compression; for compression, use PNG or JPEG.)</p><p><a href="#gdImageCreateFromGd" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a gd format image).  <a href="#gdImageCreateFromGd" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> does not close the file.  You can inspect the sx and sy members of the image to determine its size.  The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link13!
  onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromGdPtr" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt2', 'link14')" onMouseOut="HideTip('tt2')">gdImageCreateFromGdPtr</a> creates an image from GD data (i.e. the contents of a GD file) already in memory.</p><p><a href="#gdImageCreateFromGdCtx" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt3', 'link15')" onMouseOut="HideTip('tt3')">gdImageCreateFromGdCtx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link16 onMouseOver="ShowTip(event, 'tt4', 'link16')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
+FILE *in;
+in = fopen("mygd.gd", "rb");
+im = gdImageCreateFromGd(in);
+fclose(in);
+// ... Use the image ...
+gdImageDestroy(im);</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGdPtr"></a>gdImageCreateFromGdPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGdPtr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GD data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GD data (i.e. contents of a GIF file).</td></tr></table><p>Reads in GD data from memory.  See <a href="#gdImageCreateFromGd" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGdCtx"></a>gdImageCreateFromGdCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGdCtx (</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>in</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Reads in a GD image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link18 onMouseOver="ShowTip(event, 'tt4', 'link18')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.   See <a href="#gdImageCreateFromGd" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt1', 'link19')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGd"></a>gdImageGd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGd (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGdPtr"></a>gdImageGdPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGdPtr (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>GD IO</div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></!
 div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../ind!
 ex/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([1], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd (</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd is called to load images from gd format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGdPtr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGdCtx (</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>in</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunction><!
 blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGd (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGdPtr (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDestroy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GD2 IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GD2_IO"></a>GD2 IO</h1><div class=CBody><p>Read and write GD2 images.</p><p>The GD2 image format is a proprietary image format of libgd.  <b>It has to be</b> <b>regarded as being obsolete, and should only be used for development and</b> <b>testing purposes.</b></p><h4 class=CHeading>Structure of a GD2 image file</h4><ul><li>file header</li><li>chunk headers (only for compressed data)</li><li>color header (either truecolor or palette)</li><li>chunks of image data (chunk-row-major, top to bottom, left to right)</li></ul><p>All numbers are stored in big-endian format.</p><h4 class=CHeading>File header structure</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>signature</td><td class=CDLDescription>4 bytes (always “gd2\0”)</td></tr><tr><td class=CDLEntry>version</td><td class=CDLDescription>1 word (e.g.  “\0\002”)</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>chunk_size</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>format</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>x_chunk_count</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>y_chunk_count</td><td class=CDLDescription>1 word</td></tr></table><h4 class=CHeading>Recognized formats</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>1</td><td class=CDLDescription>raw palette image data</td></tr><tr><td class=CDLEntry>2</td><td class=CDLDescription>compressed palette image data</td></tr><tr><td class=CDLEntry>3</td><td class=CDLDescription>raw truecolor image data</td></tr><tr><td class=CDLEntry>4</td><td class=CDLDescription>compressed truecolor image data</td></tr></table><h4 class=CHeading>Chunk header</h4><table border=0 cellspacing=0 cellpadding=0 cl!
 ass=CDescriptionList><tr><td class=CDLEntry>offset</td><td class=CDLDescription>1 dword</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>1 dword</td></tr></table><p>There are x_chunk_count * y_chunk_count chunk headers.</p><h4 class=CHeading>Truecolor image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDLDescription>1 byte (always “\001”)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (ARGB color); “\377\377\377\377” means that no transparent color is set</td></tr></table><h4 class=CHeading>Palette image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDLDescription>1 byte (always “\0”)</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>1 word (the number of used palette colors)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (palette index); “\377\377\377\377” means that no transparent color is set</td></tr><tr><td class=CDLEntry>palette</td><td class=CDLDescription>256 dwords (RGBA colors)</td></tr></table><h4 class=CHeading>Chunk structure</h4><p>Sequential pixel data of a rectangular area (chunk_size x chunk_size), row-major from top to bottom, left to right:</p><ul><li>1 byte per pixel for palette images</li><li>1 dword (ARGB) per pixel for truecolor images</li></ul><p>Depending on format, the chunk may be ZLIB compressed.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GD2_IO" >GD2 IO</a></td><td class=SDescription>Read and write GD2 images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd2" id=li!
 nk1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a></td><td class=SDescription><a href="#gdImageCreateFromGd2" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> is called to load images from gd2 format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGd2Ptr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromGd2Ptr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd2Ctx" id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageCreateFromGd2Ctx</a></td><td class=SDescription>Reads in a GD2 image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGd2Part" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a></td><td class=SDescription><a href="#gdImageCreateFromGd2Part" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a> is called to load parts of images from gd2 format files. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd2PartPtr" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageCreateFromGd2PartPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGd2PartCtx" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdImageCreateFromGd2PartCtx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGd2" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link1!
 0')" onMouseOut="HideTip('tt8')">gdImageGd2</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGd2Ptr" id=link11 onMouseOver="ShowTip(event, 'tt9', 'link11')" onMouseOut="HideTip('tt9')">gdImageGd2Ptr</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2"></a>gdImageCreateFromGd2</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2 (</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGd2" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> is called to load images from gd2 format files.  Invoke <a href="#gdImageCreateFromGd2" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt1', 'link13')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> with an already opened pointer to a file containing the desired image in the gd2 file format, which is specific to gd2 and intended for fast loading of parts of large images.  (It is a compressed format, but generally not as good as maximum compression of the entire image would be.)</p><p><a href="#gdImageCreateFromGd2" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt1', 'link14')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link15 onMouseOver="ShowTip(event, 'tt10', 'link15')" onMouseOut="HideTip('tt10')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a gd format image).  <a href="#gdImageCreateFromGd2" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt1', 'link16')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> does not close the file.  You can inspect the sx and sy members of the image to determine its size.  The image must eventually be !
 destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt11', 'link17')" onMouseOut="HideTip('tt11')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromGd2Ptr" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">gdImageCreateFromGd2Ptr</a> creates an image from GD data (i.e. the contents of a GD2 file) already in memory.</p><p><a href="#gdImageCreateFromGd2Ctx" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt3', 'link19')" onMouseOut="HideTip('tt3')">gdImageCreateFromGd2Ctx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link20 onMouseOver="ShowTip(event, 'tt4', 'link20')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
+FILE *in;
+in = fopen("mygd.gd2", "rb");
+im = gdImageCreateFromGd2(in);
+fclose(in);
+// ... Use the image ...
+gdImageDestroy(im);</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2Ptr"></a>gdImageCreateFromGd2Ptr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ptr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GD2 data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GD2 data (i.e. contents of a GIF file).</td></tr></table><p>See <a href="#gdImageCreateFromGd2" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt1', 'link21')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2Ctx"></a>gdImageCreateFromGd2Ctx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ctx (</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>in</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Reads in a GD2 image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link22 onMouseOver="ShowTip(event, 'tt4', 'link22')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.   See <a href="#gdImageCreateFromGd2" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt1', 'link23')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2Part"></a>gdImageCreateFromGd2Part</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Part (</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGd2Part" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt5', 'link24')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a> is called to load parts of images from gd2 format files.  Invoked in the same way as <a href="#gdImageCreateFromGd2" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt1', 'link25')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a>, but with extra parameters indicating the source (x, y) and width/height of the desired image.  <a href="#gdImageCreateFromGd2Part" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt5', 'link26')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a> returns a <a h!
 ref="gd-h.html#gdImagePtr" class=LType id=link27 onMouseOver="ShowTip(event, 'tt10', 'link27')" onMouseOut="HideTip('tt10')">gdImagePtr</a> to the new image, or NULL if unable to load the image.  The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt11', 'link28')" onMouseOut="HideTip('tt11')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromGd2PartPtr" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt6', 'link29')" onMouseOut="HideTip('tt6')">gdImageCreateFromGd2PartPtr</a> creates an image from GD2 data (i.e. the contents of a GD2 file) already in memory.</p><p><a href="#gdImageCreateFromGd2Ctx" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt3', 'link30')" onMouseOut="HideTip('tt3')">gdImageCreateFromGd2Ctx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link31 onMouseOver="ShowTip(event, 'tt4', 'link31')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr><tr><td class=CDLEntry>srcx, srcy</td><td class=CDLDescription>The source X and Y coordinates</td></tr><tr><td class=CDLEntry>w, h</td><td class=CDLDescription>The resulting image’s width and height</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2PartPtr"></a>gdImageCreateFromGd2PartPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartPtr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GD data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GD data (i.e. contents of a GIF file).</td></tr><tr><td class=CDLEntry>srcx, srcy</td><td class=CDLDescription>The source X and Y coordinates</td></tr><tr><td class=CDLEntry>w, h</td><td class=CDLDescription>The resulting image’s width and height</td><!
 /tr></table><p>Reads in part of a GD2 image file stored from memory.  See <a href="#gdImageCreateFromGd2Part" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt5', 'link32')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2PartCtx"></a>gdImageCreateFromGd2PartCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartCtx (</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>in,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>in</td><td class=CDLDescription>The data source.</td></tr><tr><td class=CDLEntry>srcx, srcy</td><td class=CDLDescription>The source X and Y coordinates</td></tr><tr><td class=CDLEntry>w, h</td><td class=CDLDescription>The resulting image’s width and height</td></tr></table><p>Reads in part of a GD2 data image file via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link33 onMouseOver="ShowTip(event, 'tt4', 'link33')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.   See <a href="#gdImageCreateFromGd2Part" class=LFunction id=link34 onMouseOver="Sh!
 owTip(event, 'tt5', 'link34')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGd2"></a>gdImageGd2</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGd2 (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fmt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGd2Ptr"></a>gdImageGd2Ptr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGd2Ptr (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>GD2 IO</div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></d!
 iv></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../inde!
 x/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([1], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2 (</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2 is called to load images from gd2 format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ptr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ctx (</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>in</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD2 image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunc!
 tion><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Part (</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2Part is called to load parts of images from gd2 format files. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartPtr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td!
  class="PParameter  prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartCtx (</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>in,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>h</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacin!
 g=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGd2 (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fmt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGd2Ptr (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></di!
 v></div><div class=CToolTip id="tt10"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDestroy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GIF Input</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GIF_Input"></a>GIF Input</h1><div class=CBody><p>Read GIF images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GIF_Input" >GIF Input</a></td><td class=SDescription>Read GIF images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGif" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a></td><td class=SDescription><a href="#gdImageCreateFromGif" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> is called to load images from GIF format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGifPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromGifPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGifCtx" id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageCreateFromGifCtx</a></td><td class=SDescription>See <a href="#gdImageCreateFromGif" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt1', 'link5')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a>.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGif"></a>gdImageCreateFromGif</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGif(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>fdFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGif" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> is called to load images from GIF format files.  Invoke <a href="#gdImageCreateFromGif" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt1', 'link7')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> with an already opened pointer to a file containing the desired image.</p><p><a href="#gdImageCreateFromGif" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt1', 'link8')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link9 onMouseOver="ShowTip(event, 'tt4', 'link9')" onMouseOut="HideTip('tt4')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a GIF image).  <a href="#gdImageCreateFromGif" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> does not close the file.  You can inspect the sx and sy members of the image to determine its size.  The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt5', 'link11')" onMouseOut="HideTip('tt5')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFro!
 mGifPtr" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt2', 'link12')" onMouseOut="HideTip('tt2')">gdImageCreateFromGifPtr</a> creates an image from GIF data (i.e. the contents of a GIF file) already in memory.</p><p><a href="#gdImageCreateFromGifCtx" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt3', 'link13')" onMouseOut="HideTip('tt3')">gdImageCreateFromGifCtx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link14 onMouseOver="ShowTip(event, 'tt6', 'link14')" onMouseOut="HideTip('tt6')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
+... inside a function ...
+FILE *in;
+in = fopen("mygif.gif", "rb");
+im = gdImageCreateFromGif(in);
+fclose(in);
+// ... Use the image ...
+gdImageDestroy(im);</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGifPtr"></a>gdImageCreateFromGifPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGifPtr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GIF data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GIF data (i.e. contents of a GIF file).</td></tr></table><p>See <a href="#gdImageCreateFromGif" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt1', 'link15')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGifCtx"></a>gdImageCreateFromGifCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGifCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>fd</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromGif" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt1', 'link16')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a>.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>GIF Input</div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div>!
 </div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/C!
 onstants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([1], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGif(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>fdFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGif is called to load images from GIF format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGifPtr (</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromGifCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>fd</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromGif.</div></div><div class=CToolTip id="tt4"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 ce!
 llspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDestroy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt6"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GIF Output</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GIF_Output"></a>GIF Output</h1><div class=CBody><p>Write GIF images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GIF_Output" >GIF Output</a></td><td class=SDescription>Write GIF images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifPtr" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageGifPtr</a></td><td class=SDescription>Identical to <a href="#gdImageGif" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageGif</a> except that it returns a pointer to a memory area with the GIF data. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGif" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageGif</a></td><td class=SDescription><a href="#gdImageGif" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">gdImageGif</a> outputs the specified image to the specified file in GIF format. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifCtx" id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageGifCtx</a></td><td class=SDescription>Writes a GIF image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">gdIOCtx</a>. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimBeginPtr" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageGifAnimBeginPtr</a></td><td class=SDescription>Like <a href="#gdImageGifAnimBegin" class=LFunction!
  id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to a memory buffer. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnimBegin" id=link9 onMouseOver="ShowTip(event, 'tt6', 'link9')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a></td><td class=SDescription>This function must be called as the first function when creating a GIF animation. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimBeginCtx" id=link10 onMouseOver="ShowTip(event, 'tt7', 'link10')" onMouseOut="HideTip('tt7')">gdImageGifAnimBeginCtx</a></td><td class=SDescription>Like <a href="#gdImageGifAnimBegin" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt6', 'link11')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to <a href="gd_io-h.html#gdIOCtx" class=LType id=link12 onMouseOver="ShowTip(event, 'tt4', 'link12')" onMouseOut="HideTip('tt4')">gdIOCtx</a>. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnimAddPtr" id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">gdImageGifAnimAddPtr</a></td><td class=SDescription>Like <a href="#gdImageGifAnimAdd" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt9', 'link14')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimAdd" id=link15 onMouseOver="ShowTip(event, 'tt9', 'link15')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a></td><td class=SDescription>This function writes GIF animation frames to GIF animation, which was initialized with <a href="#gdImageGifAnimBegin" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt6', 'link16')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEn!
 try><a href="#gdImageGifAnimAddCtx" id=link17 onMouseOver="ShowTip(event, 'tt10', 'link17')" onMouseOut="HideTip('tt10')">gdImageGifAnimAddCtx</a></td><td class=SDescription>Adds an animation frame via a <gdIOCtxPtr>. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimEnd" id=link18 onMouseOver="ShowTip(event, 'tt11', 'link18')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a></td><td class=SDescription>Terminates the GIF file properly.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnimEndPtr" id=link19 onMouseOver="ShowTip(event, 'tt12', 'link19')" onMouseOut="HideTip('tt12')">gdImageGifAnimEndPtr</a></td><td class=SDescription>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt11', 'link20')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimEndCtx" id=link21 onMouseOver="ShowTip(event, 'tt13', 'link21')" onMouseOut="HideTip('tt13')">gdImageGifAnimEndCtx</a></td><td class=SDescription>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt11', 'link22')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a>, but writes its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link23 onMouseOver="ShowTip(event, 'tt4', 'link23')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifPtr"></a>gdImageGifPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Identical to <a href="#gdImageGif" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt2', 'link24')" onMouseOut="HideTip('tt2')">gdImageGif</a> except that it returns a pointer to a memory area with the GIF data.  This memory must be freed by the caller when it is no longer needed.</p><p>The caller <b>must</b> invoke <a href="gdhelpers-c.html#gdFree" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt14', 'link25')" onMouseOut="HideTip('tt14')">gdFree</a>, not <u>free()</u>.   This is because it is not guaranteed that libgd will use the same implementation of malloc, free, etc. as your proggram.</p><p>The ‘size’ parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting image.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the GIF data or NULL if an error occurred.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGif"></a>gdImageGif</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGif(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageGif" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt2', 'link26')" onMouseOut="HideTip('tt2')">gdImageGif</a> outputs the specified image to the specified file in GIF format.  The file must be open for binary writing.  (Under MSDOS and all versions of Windows, it is important to use “wb” as opposed to simply “w” as the mode when opening the file; under Unix there is no penalty for doing so).  <a href="#gdImageGif" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt2', 'link27')" onMouseOut="HideTip('tt2')">gdImageGif</a> does not close the file; your code must do so.</p><p>GIF does not support true color; GIF images can contain a maximum of 256 colors.  If the image to be written is a truecolor image, such as those created with gdImageCreateTrueColor or loaded from a JPEG or a truecolor PNG image file, a palette-based temporary image will automatically be created internally using the <a href="gd_topal-c.html#gdImageCreatePaletteFromTrueColor" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt15', 'link28')" onMouseOut="HideTip('tt15')">gdImageCreatePaletteFromTrueColor</a> function.  The original image pixels are not modified.  This conversion produces high!
  quality palettes but does require some CPU time.  If you are regularly converting truecolor to palette in this way, you should consider creating your image as a palette-based image in the first place.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifCtx" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt3', 'link29')" onMouseOut="HideTip('tt3')">gdImageGifCtx</a> outputs the image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link30 onMouseOver="ShowTip(event, 'tt4', 'link30')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifPtr" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt1', 'link31')" onMouseOut="HideTip('tt1')">gdImageGifPtr</a> stores the image in a large array of bytes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>The FILE pointer to write the image to.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
+int black, white;
+FILE *out;
+// Create the image
+im = gdImageCreate(100, 100);
+// Allocate background
+white = gdImageColorAllocate(im, 255, 255, 255);
+// Allocate drawing color
+black = gdImageColorAllocate(im, 0, 0, 0);
+// Draw rectangle
+gdImageRectangle(im, 0, 0, 99, 99, black);
+// Open output file in binary mode
+out = fopen("rect.gif", "wb");
+// Write GIF
+gdImageGif(im, out);
+// Close file
+fclose(out);
+// Destroy image
+gdImageDestroy(im);</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifCtx"></a>gdImageGifCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>out</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Writes a GIF image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link32 onMouseOver="ShowTip(event, 'tt4', 'link32')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.   See <a href="#gdImageGif" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt2', 'link33')" onMouseOut="HideTip('tt2')">gdImageGif</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>The <a href="gd_io-h.html#gdIOCtx" class=LType id=link34 onMouseOver="ShowTip(event, 'tt4', 'link34')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct used to do the writing.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimBeginPtr"></a>gdImageGifAnimBeginPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifAnimBeginPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Loops</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimBegin" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt6', 'link35')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to a memory buffer.   See <a href="#gdImageGifAnimBegin" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt6', 'link36')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.</p><p>The returned memory must be freed by the caller when it is no longer needed.  **The caller must invoke <gdFree>(), not free()**, unless the caller is absolutely certain that the same implementations of malloc, free, etc. are used both at library build time and at application build time (but don’t; it could always change).</p><p>The ‘size’ parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0!
  cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The reference image</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size in bytes of the result.</td></tr><tr><td class=CDLEntry>GlobalCM</td><td class=CDLDescription>Global colormap flag: 1 -> yes, 0 -> no, -1 -> do default</td></tr><tr><td class=CDLEntry>Loops</td><td class=CDLDescription>Loop count; 0 -> infinite, -1 means no loop</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the resulting data (the contents of the start of the GIF) or NULL if an error occurred.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimBegin"></a>gdImageGifAnimBegin</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimBegin(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Loops</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>This function must be called as the first function when creating a GIF animation.  It writes the correct GIF file headers to selected file output, and prepares for frames to be added for the animation.  The image argument is not used to produce an image frame to the file, it is only used to establish the GIF animation frame size, interlacing options and the color palette.  <a href="#gdImageGifAnimAdd" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt9', 'link37')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a> is used to add the first and subsequent frames to the animation, and the animation must be terminated by writing a semicolon character (;) to it or by using gdImageGifAnimEnd to do that.</p><p>The GlobalCM flag indicates if a global color map (or palette) is used in the GIF89A header.  A nonzero value specifies that a global col!
 or map should be used to reduce the size of the animation.  Of course, if the color maps of individual frames differ greatly, a global color map may not be a good idea.  GlobalCM=1 means write global color map, GlobalCM=0 means do not, and GlobalCM=-1 means to do the default, which currently is to use a global color map.</p><p>If Loops is 0 or greater, the Netscape 2.0 extension for animation loop count is written.  0 means infinite loop count.  -1 means that the extension is not added which results in no looping.  -1 is the default.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifAnimBeginCtx" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt7', 'link38')" onMouseOut="HideTip('tt7')">gdImageGifAnimBeginCtx</a> outputs the image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link39 onMouseOver="ShowTip(event, 'tt4', 'link39')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifAnimBeginPtr" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt5', 'link40')" onMouseOut="HideTip('tt5')">gdImageGifAnimBeginPtr</a> stores the image in a large array of bytes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The reference image</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>The output FILE*.</td></tr><tr><td class=CDLEntry>GlobalCM</td><td class=CDLDescription>Global colormap flag: 1 -> yes, 0 -> no, -1 -> do default</td></tr><tr><td class=CDLEntry>Loops</td><td class=CDLDescription>Loop count; 0 -> infinite, -1 means no loop</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><p>See <a href="#gdImageGifAnimBegin" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt6', 'link41')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimBeginCtx"></a>gdImageGifAnimBeginCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimBeginCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>Loops</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimBegin" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt6', 'link42')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to <a href="gd_io-h.html#gdIOCtx" class=LType id=link43 onMouseOver="ShowTip(event, 'tt4', 'link43')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.  See <a href="#gdImageGifAnimBegin" class=LFunction id=link44 onMouseOver="ShowTip(event, 'tt6', 'link44')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The reference image</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>Pointer to the output <a href="gd_io-h.html#gdIOCtx" class=LType id=link45 onMouseOver="ShowTip(event, 'tt4', 'link45')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</td></tr><tr><td class=CDLEntry>GlobalCM</td><td class=CDLDescription>Global colormap flag: 1 -> yes, 0 -> no, -1 -> do default</td></tr><tr><td class=CDLEntry>Loops</td><td class=!
 CDLDescription>Loop count; 0 -> infinite, -1 means no loop</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimAddPtr"></a>gdImageGifAnimAddPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifAnimAddPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>previm</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimAdd" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt9', 'link46')" onMouseOut="HideTip('tt9')">gdIma!
 geGifAnimAdd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</p><p>This memory must be freed by the caller when it is no longer needed.  **The caller must invoke <gdFree>(), not free(),** unless the caller is absolutely certain that the same implementations of malloc, free, etc. are used both at library build time and at application build time (but don’t; it could always change).</p><p>The ‘size’ parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to add.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting buffer.</td></tr><tr><td class=CDLEntry>LocalCM</td><td class=CDLDescription>Flag.   If 1, use a local color map for this frame.</td></tr><tr><td class=CDLEntry>LeftOfs</td><td class=CDLDescription>Left offset of image in frame.</td></tr><tr><td class=CDLEntry>TopOfs</td><td class=CDLDescription>Top offset of image in frame.</td></tr><tr><td class=CDLEntry>Delay</td><td class=CDLDescription>Delay before next frame (in 1/100 seconds)</td></tr><tr><td class=CDLEntry>Disposal</td><td class=CDLDescription>MODE: How to treat this frame when the next one loads.</td></tr><tr><td class=CDLEntry>previm</td><td class=CDLDescription>NULL or a pointer to the previous image written.</td></tr></table><h4 class=CHeading>Returns</h4><p>Pointer to the resulting data or NULL if an error occurred.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimAdd"></a>gdImageGifAnimAdd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>previm</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>This function writes GIF animation frames to GIF animation, which was initialized with <a href="#gdImageGifAnimBegin" class=LFunction id=link47 on!
 MouseOver="ShowTip(event, 'tt6', 'link47')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.  With <u>LeftOfs</u> and <u>TopOfs</u> you can place this frame in different offset than (0,0) inside the image screen as defined in <a href="#gdImageGifAnimBegin" class=LFunction id=link48 onMouseOver="ShowTip(event, 'tt6', 'link48')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.  Delay between the previous frame and this frame is in 1/100s units.  <u>Disposal</u> is usually <a href="gd-h.html#gdDisposalNone" class=LConstant id=link49 onMouseOver="ShowTip(event, 'tt16', 'link49')" onMouseOut="HideTip('tt16')">gdDisposalNone</a>, meaning that the pixels changed by this frame should remain on the display when the next frame begins to render, but can also be <a href="gd-h.html#gdDisposalUnknown" class=LConstant id=link50 onMouseOver="ShowTip(event, 'tt17', 'link50')" onMouseOut="HideTip('tt17')">gdDisposalUnknown</a> (not recommended), <a href="gd-h.html#gdDisposalRestoreBackground" class=LConstant id=link51 onMouseOver="ShowTip(event, 'tt18', 'link51')" onMouseOut="HideTip('tt18')">gdDisposalRestoreBackground</a> (restores the first allocated color of the global palette), or <a href="gd-h.html#gdDisposalRestorePrevious" class=LConstant id=link52 onMouseOver="ShowTip(event, 'tt19', 'link52')" onMouseOut="HideTip('tt19')">gdDisposalRestorePrevious</a> (restores the appearance of the affected area before the frame was rendered).  Only <a href="gd-h.html#gdDisposalNone" class=LConstant id=link53 onMouseOver="ShowTip(event, 'tt16', 'link53')" onMouseOut="HideTip('tt16')">gdDisposalNone</a> is a sensible choice for the first frame.  If <u>previm</u> is passed, the built-in GIF optimizer will always use <a href="gd-h.html#gdDisposalNone" class=LConstant id=link54 onMouseOver="ShowTip(event, 'tt16', 'link54')" onMouseOut="HideTip('tt16')">gdDisposalNone</a> regardless of the Disposal parameter.</p><p>Setting the <u>LocalCM</u> flag to 1 adds a local palette for this image to the animation.&nbsp!
 ; Otherwise the global palette is assumed and the user must make sure the palettes match.  Use <a href="gd-c.html#gdImagePaletteCopy" class=LFunction id=link55 onMouseOver="ShowTip(event, 'tt20', 'link55')" onMouseOut="HideTip('tt20')">gdImagePaletteCopy</a> to do that.</p><p>Automatic optimization is activated by giving the previous image as a parameter.  This function then compares the images and only writes the changed pixels to the new frame in animation.  The <u>Disposal</u> parameter for optimized animations must be set to 1, also for the first frame.  <u>LeftOfs</u> and <u>TopOfs</u> parameters are ignored for optimized frames.  To achieve good optimization, it is usually best to use a single global color map.  To allow <a href="#gdImageGifAnimAdd" class=LFunction id=link56 onMouseOver="ShowTip(event, 'tt9', 'link56')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a> to compress unchanged pixels via the use of a transparent color, the image must include a transparent color.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifAnimAddCtx" class=LFunction id=link57 onMouseOver="ShowTip(event, 'tt10', 'link57')" onMouseOut="HideTip('tt10')">gdImageGifAnimAddCtx</a> outputs its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link58 onMouseOver="ShowTip(event, 'tt4', 'link58')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifAnimAddPtr" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt8', 'link59')" onMouseOut="HideTip('tt8')">gdImageGifAnimAddPtr</a> outputs its data to a memory buffer which it returns.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to add.</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>The output FILE* being written.</td></tr><tr><td class=CDLEntry>LocalCM</td><td class=CDLDescription>Flag.   If 1, use a local color map for this frame.</td></tr><tr><td class=CDLEntry>!
 LeftOfs</td><td class=CDLDescription>Left offset of image in frame.</td></tr><tr><td class=CDLEntry>TopOfs</td><td class=CDLDescription>Top offset of image in frame.</td></tr><tr><td class=CDLEntry>Delay</td><td class=CDLDescription>Delay before next frame (in 1/100 seconds)</td></tr><tr><td class=CDLEntry>Disposal</td><td class=CDLDescription>MODE: How to treat this frame when the next one loads.</td></tr><tr><td class=CDLEntry>previm</td><td class=CDLDescription>NULL or a pointer to the previous image written.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">{
+gdImagePtr im, im2, im3;
+int black, white, trans;
+FILE *out;
+
+im = gdImageCreate(100, 100);     // Create the image
+white = gdImageColorAllocate(im, 255, 255, 255); // Allocate background
+black = gdImageColorAllocate(im, 0, 0, 0); // Allocate drawing color
+trans = gdImageColorAllocate(im, 1, 1, 1); // trans clr for compression
+gdImageRectangle(im, 0, 0, 10, 10, black); // Draw rectangle
+
+out = fopen("anim.gif", "wb");// Open output file in binary mode
+gdImageGifAnimBegin(im, out, 1, 3);// Write GIF hdr, global clr map,loops
+// Write the first frame.  No local color map.  Delay = 1s
+gdImageGifAnimAdd(im, out, 0, 0, 0, 100, 1, NULL);
+
+// construct the second frame
+im2 = gdImageCreate(100, 100);
+(void)gdImageColorAllocate(im2, 255, 255, 255); // White background
+gdImagePaletteCopy (im2, im);  // Make sure the palette is identical
+gdImageRectangle(im2, 0, 0, 15, 15, black);    // Draw something
+// Allow animation compression with transparent pixels
+gdImageColorTransparent (im2, trans);
+gdImageGifAnimAdd(im2, out, 0, 0, 0, 100, 1, im);  // Add second frame
+
+// construct the third frame
+im3 = gdImageCreate(100, 100);
+(void)gdImageColorAllocate(im3, 255, 255, 255); // white background
+gdImagePaletteCopy (im3, im); // Make sure the palette is identical
+gdImageRectangle(im3, 0, 0, 15, 20, black); // Draw something
+// Allow animation compression with transparent pixels
+gdImageColorTransparent (im3, trans);
+// Add the third frame, compressing against the second one
+gdImageGifAnimAdd(im3, out, 0, 0, 0, 100, 1, im2);
+gdImageGifAnimEnd(out);  // End marker, same as putc(';', out);
+fclose(out); // Close file
+
+// Destroy images
+gdImageDestroy(im);
+gdImageDestroy(im2);
+gdImageDestroy(im3);
+}</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimAddCtx"></a>gdImageGifAnimAddCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimAddCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>previm</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds an animation frame via a <gdIOCtxPtr>.   See gdImageGifAnimAdd>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to add.</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>The output <gdIOCtxPtr>.</td></tr><tr><td class=CDLEntry>LocalCM</td><td class=CDLDescription>Flag.   If 1, use a local color map for this frame.</td></tr><tr><td class=CDLEntry>LeftOfs</td><td class=CDLDescription>Left offset of image in !
 frame.</td></tr><tr><td class=CDLEntry>TopOfs</td><td class=CDLDescription>Top offset of image in frame.</td></tr><tr><td class=CDLEntry>Delay</td><td class=CDLDescription>Delay before next frame (in 1/100 seconds)</td></tr><tr><td class=CDLEntry>Disposal</td><td class=CDLDescription>MODE: How to treat this frame when the next one loads.</td></tr><tr><td class=CDLEntry>previm</td><td class=CDLDescription>NULL or a pointer to the previous image written.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimEnd"></a>gdImageGifAnimEnd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimEnd(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Terminates the GIF file properly.</p><p>(Previous versions of this function’s documentation suggested just manually writing a semicolon (‘;’) instead since that is all this function does.   While that has no longer changed, we now suggest that you do not do this and instead always call <a href="#gdImageGifAnimEnd" class=LFunction id=link60 onMouseOver="ShowTip(event, 'tt11', 'link60')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a> (or equivalent) since later versions could possibly do more or different things.)</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifAnimEndCtx" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt13', 'link61')" onMouseOut="HideTip('tt13')">gdImageGifAnimEndCtx</a> outputs its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link62 onMouseOver="ShowTip(event, 'tt4', 'link62')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifAnimEndPtr" class=LFunction id=link63 onMouseOver="ShowTip(event, 'tt12', 'link63')" onMouseOut="HideTip('tt12')">gdImageGifAnimEndPtr</a> outputs its data to a memory buffer which it returns.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>the destination FILE*.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimEndPtr"></a>gdImageGifAnimEndPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifAnimEndPtr(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link64 onMouseOver="ShowTip(event, 'tt11', 'link64')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</p><p>This memory must be freed by the caller when it is no longer needed.  **The caller must invoke <gdFree>(), not free(),** unless the caller is absolutely certain that the same implementations of malloc, free, etc. are used both at library build time and at application build time (but don’t; it could always change).</p><p>The ‘size’ parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting buffer.</td></tr></table><h4 class=CHeading>Returns</h4><p>Pointer to the resulting data or NULL if an error occurred.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimEndCtx"></a>gdImageGifAnimEndCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimEndCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>out</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link65 onMouseOver="ShowTip(event, 'tt11', 'link65')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a>, but writes its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link66 onMouseOver="ShowTip(event, 'tt4', 'link66')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>out</td><td class=CDLDescription>the destination <a href="gd_io-h.html#gdIOCtx" class=LType id=link67 onMouseOver="ShowTip(event, 'tt4', 'link67')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile id=MSelected>GIF Output</div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div><!
 /div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Co!
 nstants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([1], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageGif except that it returns a pointer to a memory area with the GIF data. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGif(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGif outputs the specified image to the specified file in GIF format. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </t!
 d><td class="PParameter  prettyprint " nowrap>out</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes a GIF image via a gdIOCtx. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifAnimBeginPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Loops</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to a memory buffer. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimBegin(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParame!
 ter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Loops</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function must be called as the first function when creating a GIF animation. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimBeginCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>Loops</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to gdIOCtx. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifAnimAddPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParamet!
 erPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>previm</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimAdd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</!
 td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>previm</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function writes GIF animation frames to GIF animation, which was initialized with gdImageGifAnimBegin. </div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimAddCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtxPtr </td><td class="PParameter  prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParamete!
 r  prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>previm</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds an animation frame via a gdIOCtxPtr. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimEnd(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Terminates the GIF file properly.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageGifAnimEndPtr(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpa!
 dding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageGifAnimEndCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>out</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd, but writes its data via a gdIOCtx.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdFree (</td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ptr</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory that has been allocated by libgd functions.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreatePaletteFromTrueColor (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt16"><div class=CConstant>Preserve previous frame</div></div><div class=CToolTip id="tt17"><div class=CConstant>Not recommended</div>!
 </div><div class=CToolTip id="tt18"><div class=CConstant>First allocated color of palette</div></div><div class=CToolTip id="tt19"><div class=CConstant>Restore to before start of frame</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>from</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/root/workspace/hanqiang/libgd_release_2.3.1/libgd/docs/naturaldocs/tmp/gd_interpolation.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_interpolation.c"></a>gd_interpolation.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_interpolation.c" >gd_interpolation.c</a></td><td class=SDescription></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#gdImageScale" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageScale</a></td><td class=SDescription>Scale an image</td></tr><tr class="SFunction"><td class=SEntry><a href="#gdImageRotateInterpolated" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageRotateInterpolated</a></td><td class=SDescription>Rotate an image</td></tr><tr class="SGroup"><td class=SEntry><a href="#Affine_Transformation" >Affine Transformation</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdTransformAffineGetImage" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdTransformAffineGetImage</a></td><td class=SDescription>Applies an affine transformation to a region and return an image containing the complete transformation.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#getPixelRgbInterpolated" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">getPixelRgbInterpolated</a></td><td class=SDescription>get the index of the image’s colors</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdTransformAffineCopy" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdTransformAffineCopy</a></td><td class=SDescription>Applies an affine transformation to a region and copy the result in a destination to the given position.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#!
 gdTransformAffineBoundingBox" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gdTransformAffineBoundingBox</a></td><td class=SDescription>Returns the bounding box of an affine transformation applied to a rectangular area <a href="gd-h.html#gdRect" class=LType id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gdRect</a></td></tr><tr class="SGroup"><td class=SEntry><a href="#Interpolation_Method" >Interpolation Method</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetInterpolationMethod" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">gdImageSetInterpolationMethod</a></td><td class=SDescription>Set the interpolation method for subsequent operations</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGetInterpolationMethod" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">gdImageGetInterpolationMethod</a></td><td class=SDescription>Get the current interpolation method</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScale"></a>gdImageScale</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>new_height</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Scale an image</p><p>Creates a new image, scaled to the requested size using the current <a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a>.</p><p>Note that GD_WEIGHTED4 is not yet supported by this function.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>new_width</td><td class=CDLDescription>The new width.</td></tr><tr><td class=CDLEntry>new_height</td><td class=CDLDescription>The new height.</td></tr></table><h4 class=CHeading>Returns</h4><p>The scaled image on success, NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageCopyResized" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">gdImageCopyResized</a></li><li><a href="gd-c.html#gdImageCopyResampled" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="H!
 ideTip('tt11')">gdImageCopyResampled</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageRotateInterpolated"></a>gdImageRotateInterpolated</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>bgcolor</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Rotate an image</p><p>Creates a new image, counter-clockwise rotated by the requested angle using the current <a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a>.  Non-square angles will add a border with bgcolor.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>The angle in degrees.</td></tr><tr><td class=CDLEntry>bgcolor</td><td class=CDLDescription>The color to fill the added background with.</td></tr></table><h4 class=CHeading>Returns</h4><p>The rotated image on success, NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageCopyRotated" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">gdImageCopyRotated</a></li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Affine_Transformation"></a>Affine Transformation</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdTransformAffineGetImage"></a>gdTransformAffineGetImage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdTransformAffineGetImage(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>src_area,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>affine[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Applies an affine transformation to a region and return an image containing the complete transformation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Pointer to a gdImagePtr to store the created image, NULL when the creation or the transformation failed</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>Source image</td></tr><tr><td class=CDLEntry>src_area</td><td class=CDLDescription>rectangle defining the source region to transform</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLD!
 escription>Y position in the destination image</td></tr><tr><td class=CDLEntry>affine</td><td class=CDLDescription>The desired affine transformation</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="getPixelRgbInterpolated"></a>getPixelRgbInterpolated</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>static int getPixelRgbInterpolated(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>tcolor</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>get the index of the image’s colors</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>Image to draw the transformed image</td></tr><tr><td class=CDLEntry>tcolor</td><td class=CDLDescription>TrueColor</td></tr></table><h4 class=CHeading>Return</h4><p>index of colors</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdTransformAffineCopy"></a>gdTransformAffineCopy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdTransformAffineCopy(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst_y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameter  prettyprint " nowrap>src_region,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>affine[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Applies an affine transformation to a region and copy the result in a destination to the given position.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Image to draw the transformed image</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>Source image</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>X position in the destination image</td></tr><tr><td cla!
 ss=CDLEntry>dstY</td><td class=CDLDescription>Y position in the destination image</td></tr><tr><td class=CDLEntry>src_area</td><td class=CDLDescription>Rectangular region to rotate in the src image</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE on failure</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdTransformAffineBoundingBox"></a>gdTransformAffineBoundingBox</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdTransformAffineBoundingBox(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>affine[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameter  prettyprint " nowrap>bbox</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the bounding box of an affine transformation applied to a rectangular area <a href="gd-h.html#gdRect" class=LType id=link13 onMouseOver="ShowTip(event, 'tt7', 'link13')" onMouseOut="HideTip('tt7')">gdRect</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>Rectangular source area for the affine transformation</td></tr><tr><td class=CDLEntry>affine</td><td class=CDLDescription>the affine transformation</td></tr><tr><td class=CDLEntry>bbox</td><td class=CDLDescription>the resulting bounding box</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Interpolation_Method"></a>Interpolation Method</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetInterpolationMethod"></a>gdImageSetInterpolationMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdInterpolationMethod </td><td class="PParameter  prettyprint " nowrap>id</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the interpolation method for subsequent operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>id</td><td class=CDLDescription>The interpolation method.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a></li><li><a href="#gdImageGetInterpolationMethod" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt9', 'link14')" onMouseOut="HideTip('tt9')">gdImageGetInterpolationMethod</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetInterpolationMethod"></a>gdImageGetInterpolationMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Get the current interpolation method</p><p>This is here so that the value can be read via a language or VM with an FFI but no (portable) way to extract the value from the struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>The current interpolation method.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a></li><li><a href="#gdImageSetInterpolationMethod" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt8', 'link15')" onMouseOut="HideTip('tt8')">gdImageSetInterpolationMethod</a></li></ul></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_interpolation.c</div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><!
 div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constant!
 s.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const unsigned </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>new_height</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Scale an image</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>float </td><td class="PParameter  prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>bgcolor</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Rotate an image</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table bor!
 der=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdTransformAffineGetImage(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>src_area,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>affine[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and return an image containing the complete transformation.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>static int getPixelRgbInterpolated(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>tcolor</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>get the index of the image’s co!
 lors</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdTransformAffineCopy(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dst_y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameter  prettyprint " nowrap>src_region,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>affine[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and copy the result in a destination to the given position.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdTransformAffineBoundingBox(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePref!
 ix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>affine[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdRectPtr </td><td class="PParameter  prettyprint " nowrap>bbox</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the bounding box of an affine transformation applied to a rectangular area gdRect</div></div><div class=CToolTip id="tt7"><div class=CType>A rectangle in the coordinate space of the image</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdInterpolationMethod </td><td class="PParameter  prettyprint " nowrap>id</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the interpolation method for subsequent operations</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Get the current interpolation method</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding!
 =0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcH</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resized area from an image to another image</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint "!
  nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcH</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resampled area from an image to another image</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType  prettyprint !
 " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a rotated area from an image to another image</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/root/workspace/hanqiang/libgd_release_2.3.1/libgd/docs/naturaldocs/tmp/gd_io.h</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_io.h"></a>gd_io.h</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_io.h" >gd_io.h</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdIOCtx" >gdIOCtx</a></td><td class=SDescription>gdIOCtx structures hold function pointers for doing image IO.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdIOCtx"></a>gdIOCtx</h3><div class=CBody><p>gdIOCtx structures hold function pointers for doing image IO.</p><p>Most of the gd functions that read and write files, such as <a href="gd_png-c.html#gdImagePng" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImagePng</a> also have variants that accept a <a href="#gdIOCtx" class=LType id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdIOCtx</a> structure; see <a href="gd_png-c.html#gdImagePngCtx" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImagePngCtx</a> and <a href="gd_jpeg-c.html#gdImageCreateFromJpegCtx" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageCreateFromJpegCtx</a>.</p><p>Those who wish to provide their own custom routines to read and write images can populate a gdIOCtx structure with functions of their own devising to to read and write data.  For image reading, the only mandatory functions are getC and getBuf, which must return the number of characters actually read, or a negative value on error or EOF.  These functions must read the number of characters requested unless at the end of the file.</p><p>For image writing, the only mandatory functions are putC and putBuf, which return the number of characters written; these functions must write the number of characters requested except in the event of an error.  The seek and tell functions are only required in conjunction with the gd2 file format, which supports quick loading of partial images.  The gd_free function will not be invoked when calling the standard Ctx functions; it is an implementation convenience when adding new data types to gd.  For examples, see gd_png.c, gd_gd2.c, gd_jpeg.c, etc., all of which rely on gdIOCtx to implement the standard image read and write functions.</p><blockquote><pre>typedef struc!
 t gdIOCtx
+{
+  int (*getC) (struct gdIOCtx *);
+  int (*getBuf) (struct gdIOCtx *, void *, int wanted);
+
+  void (*putC) (struct gdIOCtx *, int);
+  int (*putBuf) (struct gdIOCtx *, const void *, int wanted);
+
+  // seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
+  int (*seek) (struct gdIOCtx *, const int);
+  long (*tell) (struct gdIOCtx *);
+
+  void (*gd_free) (struct gdIOCtx *);
+} gdIOCtx;</pre></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_io.h</!
 div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../ind!
 ex/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePng (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngEx with compression of -1.</div></div><div class=CToolTip id="tt2"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImagePngCtx (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outfile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngCtxEx with compression of -1. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettypr!
 int " nowrap>*</td><td class="PParameter  prettyprint " nowrap>infile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/root/workspace/hanqiang/libgd_release_2.3.1/libgd/docs/naturaldocs/tmp/gd_io_dp.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_io_dp.c"></a>gd_io_dp.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_io_dp.c" >gd_io_dp.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdNewDynamicCtx" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdNewDynamicCtx</a></td><td class=SDescription>Return data as a dynamic pointer.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdNewDynamicCtxEx" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdNewDynamicCtxEx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdDPExtractData" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdDPExtractData</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdNewDynamicCtx"></a>gdNewDynamicCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdIOCtx * gdNewDynamicCtx(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Return data as a dynamic pointer.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdNewDynamicCtxEx"></a>gdNewDynamicCtxEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdIOCtx * gdNewDynamicCtxEx(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>freeOKFlag</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdDPExtractData"></a>gdDPExtractData</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdDPExtractData (</td><td class="PTypePrefix  prettyprint " nowrap>struct </td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ctx,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_io_dp.c</div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/!
 Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdIOCtx * gdNewDynamicCtx(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdIOCtx * gdNewDynamicCtxEx(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>freeOKFlag</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdDPExtractData (</td><td class="PTypePrefix  prettyprint " nowrap>struct </td><td class="PType  prettyprint " nowrap>gdIOCtx !
 </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ctx,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdNewFileCtx</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdNewFileCtx"></a>gdNewFileCtx</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdIOCtx * gdNewFileCtx(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>f</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Return data as a dynamic pointer.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdNewFileCtx</div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Co!
 nstants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdNewSSCtx</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdNewSSCtx"></a>gdNewSSCtx</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdIOCtx * gdNewSSCtx(</td><td class="PType  prettyprint " nowrap>gdSourcePtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdSinkPtr </td><td class="PParameter  prettyprint " nowrap>snk</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Return data as a dynamic pointer.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdNewSSCtx</div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/!
 Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JPEG IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="JPEG_IO"></a>JPEG IO</h1><div class=CBody><p>Read and write JPEG images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#JPEG_IO" >JPEG IO</a></td><td class=SDescription>Read and write JPEG images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageJpeg" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageJpeg</a></td><td class=SDescription><a href="#gdImageJpeg" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> outputs the specified image to the specified file in JPEG format. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageJpegPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageJpegPtr</a></td><td class=SDescription>Identical to <a href="#gdImageJpeg" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> except that it returns a pointer to a memory area with the JPEG data. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageJpegCtx" id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageJpegCtx</a></td><td class=SDescription>Write the image as JPEG data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">gdIOCtx</a>. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromJpeg" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a></td><td class=SDescription>See <a href="#gdImageCr!
 eateFromJpegEx" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromJpegEx" id=link9 onMouseOver="ShowTip(event, 'tt6', 'link9')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a></td><td class=SDescription><a href="#gdImageCreateFromJpegEx" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt6', 'link10')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> is called to load truecolor images from JPEG format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromJpegPtr" id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">gdImageCreateFromJpegPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromJpegPtrEx" id=link12 onMouseOver="ShowTip(event, 'tt8', 'link12')" onMouseOut="HideTip('tt8')">gdImageCreateFromJpegPtrEx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromJpegCtx" id=link13 onMouseOver="ShowTip(event, 'tt9', 'link13')" onMouseOut="HideTip('tt9')">gdImageCreateFromJpegCtx</a></td><td class=SDescription>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt5', 'link14')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromJpegCtxEx" id=link15 onMouseOver="ShowTip(event, 'tt10', 'link15')" onMouseOut="HideTip('tt10')">gdImageCreateFromJpegCtxEx</a></td><td class=SDescription>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt5', 'link16')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageJpeg"></a>gdImageJpeg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageJpeg(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>quality</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageJpeg" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> outputs the specified image to the specified file in JPEG format.  The file must be open for writing.  Under MSDOS and all versions of Windows, it is important to use “wb” as opposed to simply “w” as the mode when opening the file, and under Unix there is no penalty for doing so.  <a href="#gdImageJpeg" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt1', 'link18')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> does not close the file; your code must do so.</p><p>If <u>quality</u> is negative, the default IJG JPEG quality value (which should yield a good general quality / size tradeoff for most situations) is used.  Otherwise, for practical purposes, <u>quality</u> should be a value in the range 0-95, higher quality values usually implying both higher quality and larger image sizes.</p><p>If you have set image interlacing using <a href="gd-c.html#gdImageInterlace" class=LFunction i!
 d=link19 onMouseOver="ShowTip(event, 'tt11', 'link19')" onMouseOut="HideTip('tt11')">gdImageInterlace</a>, this function will interpret that to mean you wish to output a progressive JPEG.  Some programs (e.g., Web browsers) can display progressive JPEGs incrementally; this can be useful when browsing over a relatively slow communications link, for example.  Progressive JPEGs can also be slightly smaller than sequential (non-progressive) JPEGs.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageJpegCtx" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt3', 'link20')" onMouseOut="HideTip('tt3')">gdImageJpegCtx</a> stores the image using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link21 onMouseOver="ShowTip(event, 'tt4', 'link21')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageJpegPtr" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt2', 'link22')" onMouseOut="HideTip('tt2')">gdImageJpegPtr</a> stores the image to RAM.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to save</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>The FILE pointer to write to.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Compression quality (0-95, 0 means use the default).</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
+int black, white;
+FILE *out;
+// Create the image
+im = gdImageCreate(100, 100);
+// Allocate background
+white = gdImageColorAllocate(im, 255, 255, 255);
+// Allocate drawing color
+black = gdImageColorAllocate(im, 0, 0, 0);
+// Draw rectangle
+gdImageRectangle(im, 0, 0, 99, 99, black);
+// Open output file in binary mode
+out = fopen("rect.jpg", "wb");
+// Write JPEG using default quality
+gdImageJpeg(im, out, -1);
+// Close file
+fclose(out);
+// Destroy image
+gdImageDestroy(im);</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageJpegPtr"></a>gdImageJpegPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageJpegPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>quality</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Identical to <a href="#gdImageJpeg" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt1', 'link23')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> except that it returns a pointer to a memory area with the JPEG data.  This memory must be freed by the caller when it is no longer needed.</p><p>The caller <b>must</b> invoke <a href="gdhelpers-c.html#gdFree" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt12', 'link24')" onMouseOut="HideTip('tt12')">gdFree</a>, not free().   This is because it is not guaranteed that libgd will use the same implementation of malloc, free, etc. as your proggram.</p><p>The ‘size’ parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting image.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Compression qu!
 ality.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the JPEG data or NULL if an error occurred.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageJpegCtx"></a>gdImageJpegCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageJpegCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>quality</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Write the image as JPEG data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link25 onMouseOver="ShowTip(event, 'tt4', 'link25')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.  See <a href="#gdImageJpeg" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt1', 'link26')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> for more details.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write.</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>The output sink.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Image quality.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpeg"></a>gdImageCreateFromJpeg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpeg(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromJpegEx" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt6', 'link27')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegEx"></a>gdImageCreateFromJpegEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegEx(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromJpegEx" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt6', 'link28')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> is called to load truecolor images from JPEG format files.  Invoke <a href="#gdImageCreateFromJpegEx" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt6', 'link29')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> with an already opened pointer to a file containing the desired image.  <a href="#gdImageCreateFromJpegEx" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt6', 'link30')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link31 onMouseOver="ShowTip(event, 'tt13', 'link31')" onMouseOut="HideTip('tt13')">gdImagePtr</a> to the new truecolor image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a JPEG image).  <a href="#gdImageCreateFromJpegEx" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt6', 'link32')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> does not close the file.</p><p>You can inspect the sx and sy members of the image to determine its size.  The image!
  must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt14', 'link33')" onMouseOut="HideTip('tt14')">gdImageDestroy</a>.</p><p><b>The returned image is always a truecolor image.</b></p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromJpegPtrEx" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt8', 'link34')" onMouseOut="HideTip('tt8')">gdImageCreateFromJpegPtrEx</a> creates an image from JPEG data already in memory.</p><p><a href="#gdImageCreateFromJpegCtxEx" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt10', 'link35')" onMouseOut="HideTip('tt10')">gdImageCreateFromJpegCtxEx</a> reads its data via the function pointers in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link36 onMouseOver="ShowTip(event, 'tt4', 'link36')" onMouseOut="HideTip('tt4')">gdIOCtx</a> structure.</p><p><a href="#gdImageCreateFromJpeg" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt5', 'link37')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>, <a href="#gdImageCreateFromJpegPtr" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt7', 'link38')" onMouseOut="HideTip('tt7')">gdImageCreateFromJpegPtr</a> and <a href="#gdImageCreateFromJpegCtx" class=LFunction id=link39 onMouseOver="ShowTip(event, 'tt9', 'link39')" onMouseOut="HideTip('tt9')">gdImageCreateFromJpegCtx</a> are equivalent to calling their <u>Ex</u>-named counterparts with an ignore_warning set to 1 (i.e.  TRUE).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer.</td></tr><tr><td class=CDLEntry>ignore_warning</td><td class=CDLDescription>Flag.   If true, ignores recoverable warnings.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new <b>truecolor</b> image.   This will need to be destroyed with <a href="gd-c.html#gdImageDestroy" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt14',!
  'link40')" onMouseOut="HideTip('tt14')">gdImageDestroy</a> once it is no longer needed.</p><p>On error, returns NULL.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
+FILE *in;
+in = fopen("myjpeg.jpg", "rb");
+im = gdImageCreateFromJpegEx(in, GD_TRUE);
+fclose(in);
+// ... Use the image ...
+gdImageDestroy(im);</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegPtr"></a>gdImageCreateFromJpegPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtr(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of JPEG data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to JPEG data.</td></tr></table><p>See <a href="#gdImageCreateFromJpegEx" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt6', 'link41')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegPtrEx"></a>gdImageCreateFromJpegPtrEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtrEx(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of JPEG data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to JPEG data.</td></tr><tr><td class=CDLEntry>ignore_warning</td><td class=CDLDescription>if true, ignore recoverable warnings</td></tr></table><p>See <a href="#gdImageCreateFromJpegEx" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt6', 'link42')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegCtx"></a>gdImageCreateFromJpegCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>infile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link43 onMouseOver="ShowTip(event, 'tt5', 'link43')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegCtxEx"></a>gdImageCreateFromJpegCtxEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtxEx(</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>infile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link44 onMouseOver="ShowTip(event, 'tt5', 'link44')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile id=MSelected>JPEG IO</div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></di!
 v></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index!
 /Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([1], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageJpeg(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>quality</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageJpeg outputs the specified image to the specified file in JPEG format. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void * gdImageJpegPtr(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>quality</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageJpeg except that it returns a pointer to a memory area with the JPEG data. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table b!
 order=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageJpegCtx(</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>quality</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as JPEG data via a gdIOCtx. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpeg(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpegEx.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegEx(</td><td class="PType  prettyprint " nowrap>FILE </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType  prettyp!
 rint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromJpegEx is called to load truecolor images from JPEG format files. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtr(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtrEx(</td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><ta!
 ble border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>infile</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtxEx(</td><td class="PType  prettyprint " nowrap>gdIOCtx </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>infile,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageInterlace (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prot!
 otype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdFree (</td><td class="PType  prettyprint " nowrap>void </td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ptr</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory that has been allocated by libgd functions.</div></div><div class=CToolTip id="tt13"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>void gdImageDestroy (</td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Matrix</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Matrix"></a>Matrix</h1><div class=CBody><p>Group: Affine Matrix</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Matrix" >Matrix</a></td><td class=SDescription>Group: Affine Matrix</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineApplyToPointF" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdAffineApplyToPointF</a></td><td class=SDescription>Applies an affine transformation to a point (floating point gdPointF)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineInvert" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdAffineInvert</a></td><td class=SDescription>Find the inverse of an affine transformation.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineFlip" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdAffineFlip</a></td><td class=SDescription>Flip an affine transformation horizontally or vertically.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineConcat" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdAffineConcat</a></td><td class=SDescription>Concat (Multiply) two affine transformation matrices.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineIdentity" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdAffineIdentity</a></td><td class=SDescription>Set up the identity matrix.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineScale" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut=!
 "HideTip('tt6')">gdAffineScale</a></td><td class=SDescription>Set up a scaling matrix.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineRotate" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gdAffineRotate</a></td><td class=SDescription>Set up a rotation affine transform.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineShearHorizontal" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">gdAffineShearHorizontal</a></td><td class=SDescription>Set up a horizontal shearing matrix || becomes \\.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineShearVertical" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">gdAffineShearVertical</a></td><td class=SDescription>Set up a vertical shearing matrix, columns are untouched.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineTranslate" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">gdAffineTranslate</a></td><td class=SDescription>Set up a translation matrix.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineRectilinear" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">gdAffineRectilinear</a></td><td class=SDescription>Determines whether the affine transformation is axis aligned. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineEqual" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">gdAffineEqual</a></td><td class=SDescription>Determines whether two affine transformations are equal. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineApplyToPointF"></a>gdAffineApplyToPointF</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineApplyToPointF (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdPointFPtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdPointFPtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>affine[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Applies an affine transformation to a point (floating point gdPointF)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting point</td></tr><tr><td class=CDLEntry>affine</td><td class=CDLDescription>Source Point</td></tr><tr><td class=CDLEntry>flip_horz</td><td class=CDLDescription>affine matrix</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineInvert"></a>gdAffineInvert</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineInvert (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>src[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Find the inverse of an affine transformation.</p><p>All non-degenerate affine transforms are invertible.  Applying the inverted matrix will restore the original values.  Multiplying <src> by <dst> (commutative) will return the identity affine (rounding error possible).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>src_affine</td><td class=CDLDescription>Original affine matrix</td></tr><tr><td class=CDLEntry>flip_horz</td><td class=CDLDescription>Whether or not to flip horizontally</td></tr><tr><td class=CDLEntry>flip_vert</td><td class=CDLDescription>Whether or not to flip vertically</td></tr></table><h4 class=CHeading>See also</h4><p><a href="#gdAffineIdentity" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt5', 'link13')" onMouseOut="HideTip('tt5')">gdAffineIdentity</a></p><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE on failure</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineFlip"></a>gdAffineFlip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineFlip (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>src[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>flip_h,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>flip_v</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Flip an affine transformation horizontally or vertically.</p><p>Flips the affine transform, giving GD_FALSE for <flip_horz> and <flip_vert> will clone the affine matrix.  GD_TRUE for both will copy a 180° rotation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>src_affine</td><td class=CDLDescription>Original affine matrix</td></tr><tr><td class=CDLEntry>flip_h</td><td class=CDLDescription>Whether or not to flip horizontally</td></tr><tr><td class=CDLEntry>flip_v</td><td class=CDLDescription>Whether or not to flip vertically</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineConcat"></a>gdAffineConcat</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineConcat (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m2[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Concat (Multiply) two affine transformation matrices.</p><p>Concats two affine transforms together, i.e. the result will be the equivalent of doing first the transformation m1 and then m2.  All parameters can be the same matrix (safe to call using the same array for all three arguments).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>m1</td><td class=CDLDescription>First affine matrix</td></tr><tr><td class=CDLEntry>m2</td><td class=CDLDescription>Second affine matrix</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineIdentity"></a>gdAffineIdentity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineIdentity (</td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up the identity matrix.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineScale"></a>gdAffineScale</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineScale (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>scale_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>scale_y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a scaling matrix.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>scale_x</td><td class=CDLDescription>X scale factor</td></tr><tr><td class=CDLEntry>scale_y</td><td class=CDLDescription>Y scale factor</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineRotate"></a>gdAffineRotate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineRotate (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a rotation affine transform.</p><p>Like the other angle in libGD, in which increasing y moves downward, this is a counterclockwise rotation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>Rotation angle in degrees</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineShearHorizontal"></a>gdAffineShearHorizontal</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineShearHorizontal(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a horizontal shearing matrix || becomes \\.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>Shear angle in degrees</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineShearVertical"></a>gdAffineShearVertical</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineShearVertical(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a vertical shearing matrix, columns are untouched.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>Shear angle in degrees</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineTranslate"></a>gdAffineTranslate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineTranslate (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>offset_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>offset_y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a translation matrix.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>offset_x</td><td class=CDLDescription>Horizontal translation amount</td></tr><tr><td class=CDLEntry>offset_y</td><td class=CDLDescription>Vertical translation amount</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineRectilinear"></a>gdAffineRectilinear</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineRectilinear (</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Determines whether the affine transformation is axis aligned.  A tolerance has been implemented using GD_EPSILON.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>m</td><td class=CDLDescription>The affine transformation</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineEqual"></a>gdAffineEqual</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineEqual (</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m2[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Determines whether two affine transformations are equal.  A tolerance has been implemented using GD_EPSILON.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>m1</td><td class=CDLDescription>The first affine transformation</td></tr><tr><td class=CDLEntry>m2</td><td class=CDLDescription>The first affine transformation</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile id=MSelected>Matrix</div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/C!
 onstants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
+HideAllBut([], 4);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineApplyToPointF (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdPointFPtr </td><td class="PParameter  prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>gdPointFPtr </td><td class="PParameter  prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>affine[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a point (floating point gdPointF)</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineInvert (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>src[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Find the inverse of an affine transformation.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineFlip (</td><td class="PTypePrefix  pretty!
 print " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>src[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>flip_h,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>flip_v</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an affine transformation horizontally or vertically.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineConcat (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m2[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Concat (Multiply) two affine transformation matrices.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint!
  "nowrap>int gdAffineIdentity (</td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up the identity matrix.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineScale (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>scale_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>scale_y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a scaling matrix.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineRotate (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a rotation affine transform.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=!
 0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineShearHorizontal(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a horizontal shearing matrix || becomes \\.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineShearVertical(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>angle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a vertical shearing matrix, columns are untouched.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineTranslate (</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="P!
 Parameter  prettyprint " nowrap>offset_x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>offset_y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a translation matrix.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineRectilinear (</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether the affine transformation is axis aligned. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>int gdAffineEqual (</td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>double </td><td class="PParameter  prettyprint " nowrap>m2[6]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether two affine transformations are equal. </div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file

Added: trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html
===================================================================
--- trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html	                        (rev 0)
+++ trunk/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html	2021-02-03 06:51:32 UTC (rev 57607)
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdImageNeuQuant</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.51 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdImageNeuQuant"></a>gdImageNeuQuant</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>gdImagePtr gdImageNeuQuant(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>gdImagePtr </td><td class="PParameter  prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const </td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>max_color,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int </td><td class="PParameter  prettyprint " nowrap>sample_factor</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a new palette image from a truecolor image</p><p>This is the same as calling <a href="gd_topal-c.html#gdImageCreatePaletteFromTrueColor" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreatePaletteFromTrueColor</a> with the quantization method <a href="gd-h.html#GD_QUANT_NEUQUANT" class=LConstant id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">GD_QUANT_NEUQUANT</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>max_color</td><td class=CDLDescription>The number of desired palette entries.</td></tr><tr><td class=CDLEntry>sample_factor</td><td class=CDLDescription>The quantization precision between 1 (highest quality) and 10 (fastest).</td></tr></table><h4 class=CHeading>Returns</h4><p>A newly create palette image; NULL on failure.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html"!
 >gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdImageNeuQuant</div></div><div class=MEntry><div class=MFile><a href="gd_io_file