PHP ʖ²ἯTH
º/A
XLI. Image functions
½鉜
PHP is not limited to creating just HTML output. It can also be used to create and manipulate image files in a variety of different image formats, including gif, png, jpg, wbmp, and xpm. Even more convenient, PHP can output image streams directly to a browser. You will need to compile PHP with the GD library of image functions for this to work. GD and PHP may also require other libraries, depending on which image formats you want to work with.
You can use the image functions in PHP to get the size of JPEG, GIF, PNG, SWF, TIFF and JPEG2000 images.
ע: Read requirements section about how to expand image capabilities to read, write and modify images and to read meta data of pictures taken by digital cameras.
Шdz
If you have the GD library (available at http://www.boutell.com/gd/) you will also be able to create and manipulate images.
The format of images you are able to manipulate depend on the version of GD you install, and any other libraries GD might need to access those image formats. Versions of GD older than gd-1.6 support GIF format images, and do not support PNG, where versions greater than gd-1.6 support PNG, not GIF.
ע: Since PHP 4.3 there is a bundled version of the GD lib. This bundled version has some additional features like alpha blending, and should be used in preference to the external library since it's codebase is better maintained and more stable.
You may wish to enhance GD to handle more image formats.
Image format
Library to download
Notes
gif
Only supported in GD versions older than gd-1.6. Read-only GIF support is available with PHP 4.3.0 and the bundled GD-library.
jpeg-6b
ftp://ftp.uu.net/graphics/jpeg/
png
http://www.libpng.org/pub/png/libpng.html
Only supported in GD versions greater than gd-1.6.
xpm
ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html
It's likely you have this library already available, if your system has an installed X-Environment.
You may wish to enhance GD to deal with different fonts. The following font libraries are supported:
Font library
Download
Notes
FreeType 1.x
http://www.freetype.org/
FreeType 2
http://www.freetype.org/
T1lib
ftp://sunsite.unc.edu/pub/Linux/libs/graphics/)
Support for Type 1 fonts.
If you have PHP compiled with --enable-exif you are able to work with information stored in headers of JPEG and TIFF images. This way you can read meta data generated by digital cameras as mentioned above. These functions does not require the GD library.
ע: PHP does not require any additional library for exif the module.
°²װ
To enable GD-support configure PHP --with-gd[=DIR], where DIR is the GD base install directory. To use the recommended bundled version of the GD library configure --with-gd.
Enhance the capabilities of GD to handle more image formats by specifying the --with-XXXX configure switch to your PHP configure line.
Image Format
Configure Switch
jpeg-6b
To enable support for jpeg-6b add --with-jpeg-dir=DIR.
png
To enable support for png add --with-png-dir=DIR. Note, libpng requires the zlib library, therefore add --with-zlib-dir[=DIR] to your configure line.
xpm
To enable support for xpm add --with-xpm-dir=DIR. If configure is not able to find the required libraries, you may add the path to your X11 libraries.
Enhance the capabilities of GD to deal with different fonts by specifying the --with-XXXX configure switch to your PHP configure line.
Font library
Configure Switch
FreeType 1.x
To enable support for FreeType 1.x add --with-ttf[=DIR].
FreeType 2
To enable support for FreeType 2 add --with-freetype-dir=DIR.
T1lib
To enable support for T1lib (Type 1 fonts) add --with-t1lib[=DIR].
Native TrueType string function
To enable support for native TrueType string function add --enable-gd-native-ttf.
ԋАʱŤփ
բЩº¯ʽµĐЎªʜµ½ȫ¾ּA HREF="configuration.html#configuration.file" Ťփ΄¼þ php.ini µē°Ϭ¡£
Exif supports automatically conversion for Unicode and JIS character encodings of user comments when module mbstring is available. This is done by first decoding the comment using the specified characterset. The result is then encoded with another characterset which should match your HTTP output.
Name
Default
Changeable
exif.encode_unicode
"ISO-8859-15"
PHP_INI_ALL
exif.decode_unicode_motorola
"UCS-2BE"
PHP_INI_ALL
exif.decode_unicode_intel
"UCS-2LE"
PHP_INI_ALL
exif.encode_jis
""
PHP_INI_ALL
exif.decode_jis_motorola
"JIS"
PHP_INI_ALL
exif.decode_jis_intel
"JIS"
PHP_INI_ALL
exif.encode_unicode defines the characterset UNICODE user comments are handled. This defaults to ISO-8859-15 which should work for most non asian countries. The setting can be empty or must be an encoding supported by mbstring. If it is empty the current internal encoding of mbstring is used.
exif.decode_unicode_motorola defines the image internal characterset for Unicode encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2BE.
exif.decode_unicode_intel defines the image internal characterset for Unicode encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2LE.
exif.encode_jis defines the characterset JIS user comments are handled. This defaults to an empty value which forces the functions to use the current internal encoding of mbstring.
exif.decode_jis_motorola defines the image internal characterset for JIS encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.
exif.decode_jis_intel defines the image internal characterset for JIS encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.
Դ Ѝ
¸À©չģ¿鎴¶¨ҥȎºΗʔ´ Ѝ¡£
Ԥ¶¨ҥ³£
·¶=
=ד 1. PNG creation with PHP
?php header("Content-type: image/png"); $string = $_GET['text']; $im = imagecreatefrompng("images/button1.png"); $orange = imagecolorallocate($im, 220, 210, 60); $px = (imagesx($im) - 7.5 * strlen($string)) / 2; imagestring($im, 3, $px, 9, $string, $orange); imagepng($im); imagedestroy($im);?
Ŀ¼ exif_imagetype -- Determine the type of an image exif_read_data -- Read the EXIF headers from JPEG or TIFF. This way you can read meta data generated by digital cameras. exif_thumbnail -- Retrieve the embedded thumbnail of a TIFF or JPEG image gd_info -- Retrieve information about the currently installed GD librairy getimagesize -- Get the size of an image image_type_to_mime_type -- Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype image2wbmp -- Output image to browser or file imagealphablending -- Set the blending mode for an image imagearc -- Draw a partial ellipse imagechar -- Draw a character horizontally imagecharup -- Draw a character vertically imagecolorallocate -- Allocate a color for an image imagecolorat -- Get the index of the color of a pixel imagecolorclosest -- Get the index of the closest color to the specified color imagecolorclosestalpha -- Get the index of the closest color to the specified color + alpha imagecolorclosesthwb -- Get the index of the color which has the hue, white and blackness nearest to the given color imagecolordeallocate -- De-allocate a color for an image imagecolorexact -- Get the index of the specified color imagecolorexactalpha -- Get the index of the specified color + alpha imagecolorresolve -- Get the index of the specified color or its closest possible alternative imagecolorresolvealpha -- Get the index of the specified color + alpha or its closest possible alternative imagecolorset -- Set the color for the specified palette index imagecolorsforindex -- Get the colors for an index imagecolorstotal -- Find out the number of colors in an image's palette imagecolortransparent -- Define a color as transparent imagecopy -- Copy part of an image imagecopymerge -- Copy and merge part of an image imagecopymergegray -- Copy and merge part of an image with gray scale imagecopyresampled -- Copy and resize part of an image with resampling imagecopyresized -- Copy and resize part of an image imagecreate -- Create a new palette based image imagecreatefromgd2 -- Create a new image from GD2 file or URL imagecreatefromgd2part -- Create a new image from a given part of GD2 file or URL imagecreatefromgd -- Create a new image from GD file or URL imagecreatefromgif -- Create a new image from file or URL imagecreatefromjpeg -- Create a new image from file or URL imagecreatefrompng -- Create a new image from file or URL imagecreatefromstring -- Create a new image from the image stream in the string imagecreatefromwbmp -- Create a new image from file or URL imagecreatefromxbm -- Create a new image from file or URL imagecreatefromxpm -- Create a new image from file or URL imagecreatetruecolor -- Create a new true color image imagedashedline -- Draw a dashed line imagedestroy -- Destroy an image imageellipse -- Draw an ellipse imagefill -- Flood fill imagefilledarc -- Draw a partial ellipse and fill it imagefilledellipse -- Draw a filled ellipse imagefilledpolygon -- Draw a filled polygon imagefilledrectangle -- Draw a filled rectangle imagefilltoborder -- Flood fill to specific color imagefontheight -- Get font height imagefontwidth -- Get font width imageftbbox -- Give the bounding box of a text using fonts via freetype2 imagefttext -- Write text to the image using fonts using FreeType 2 imagegammacorrect -- Apply a gamma correction to a GD image imagegd2 -- Output GD2 image to browser or file imagegd -- Output GD image to browser or file imagegif -- Output image to browser or file imageinterlace -- Enable or disable interlace imagejpeg -- Output image to browser or file imageline -- Draw a line imageloadfont -- Load a new font imagepalettecopy -- Copy the palette from one image to another imagepng -- Output a PNG image to either the browser or a file imagepolygon -- Draw a polygon imagepsbbox -- Give the bounding box of a text rectangle using PostScript Type1 fonts imagepscopyfont -- Make a copy of an already loaded font for further modification imagepsencodefont -- Change the character encoding vector of a font imagepsextendfont -- Extend or condense a font imagepsfreefont -- Free memory used by a PostScript Type 1 font imagepsloadfont -- Load a PostScript Type 1 font from file imagepsslantfont -- Slant a font imagepstext -- To draw a text string over an image using PostScript Type1 fonts imagerectangle -- Draw a rectangle imagerotate -- Rotate an image with a given angle imagesetbrush -- Set the brush image for line drawing imagesetpixel -- Set a single pixel imagesetstyle -- Set the style for line drawing imagesetthickness -- Set the thickness for line drawing imagesettile -- Set the tile image for filling imagestring -- Draw a string horizontally imagestringup -- Draw a string vertically imagesx -- Get image width imagesy -- Get image height imagetruecolortopalette -- Convert a true color image to a palette image imagettfbbox -- Give the bounding box of a text using TrueType fonts imagettftext -- Write text to the image using TrueType fonts imagetypes -- Return the image types supported by this PHP build imagewbmp -- Output image to browser or file iptcembed -- Embed binary IPTC data into a JPEG image iptcparse -- Parse a binary IPTC http://www.iptc.org/ block into single tags. jpeg2wbmp -- Convert JPEG image file to WBMP image file png2wbmp -- Convert PNG image file to WBMP image file read_exif_data -- Reads header information stored in TIFF and JPEG images
º/A
ưµ㼯A
ob_iconv_handler
ɏһ¼¶
exif_imagetype