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.
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.
表格 1. Supported image formats
You may wish to enhance GD to deal with different
fonts. The following font libraries are supported:
表格 2. Supported font libraries
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. In Windows you'll include php_gd2.dll as an extension in php.ini. There is also php_gd.dll for GD1 but it's not
preferred.
Enhance the capabilities of GD to handle more
image formats by specifying the
--with-XXXX configure switch to your PHP configure
line.
表格 3. Supported image formats
Enhance the capabilities of GD to deal with
different fonts by specifying the
--with-XXXX configure switch to your PHP configure
line.
表格 4. Supported font libraries
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.
表格 5. Exif configuration options
Here is a short explanation of the configuration
directives.
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.
以下的常數由此延伸定義, 只在這個延伸被編譯成PHP或實行時期被動態載入時有效。