создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по PHP. 2005

Image Functions

Пред.

След.

LIV. 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.

Требования

If you have the GD library (available at http://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 and less than gd-2.0.28 support PNG, not GIF. GIF support was re-enabled in gd-2.0.28.

Замечание: Since PHP4.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 its codebase is better maintained and more stable.

You may wish to enhance GD to handle more image formats.

Таблица 1. Supported image formats

Image formatLibrary to downloadNotes
gif- Only supported in GD versions older than gd-1.6 and newer than gd-2.0.28. Read-only

GIF support is available with PHP4.3.0 and the bundled GD-library. Write support is avaliable since PHP4.3.9 and PHP5.0.1.

jpeg-6bftp://ftp.uu.net/graphics/jpeg/
pnghttp://libpng.org/pub/png/libpng.html- Only supported in GD versions greater than gd-1.6.
xpmftp://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:

Таблица 2. Supported font libraries

Font libraryDownloadNotes
FreeType 1.xhttp://freetype.org/
FreeType 2http://freetype.org/
T1libftp://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 do not require the GD library.

Установка

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 (which was first bundled in PHP4.3.0), use the configure option --with-gd. GD library requires libpng and libjpeg to compile.

In Windows, you'll include the GD2 DLL php_gd2.dll as an extension in php.ini. The GD1 DLL php_gd.dll was removed in PHP4.3.2. Also note that the preferred truecolor image functions, such as imagecreatetruecolor(), require GD2.

Замечание: To enable exif support in Windows, php_mbstring.dll must be loaded prior to php_exif.dll in php.ini.

To disable GD support in PHP 3 add --without-gd to your configure line.

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

Image FormatConfigure 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.

Замечание: When compiling PHP with libpng, you must use the same version that was linked with the GD library.

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

Font libraryConfigure 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.

Настройка во время выполнения

There are no image specific configurations but you may be interested in the exif extension directives.

Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Предопределенные константы

-Перечисленные ниже константы определены данным расширением и могут быть

доступны только в том случае, если PHP был собран с

поддержкой этого расширения или же в том случае, если

данное расширение подгружается во время выполнения.

IMG_GIF (integer)

IMG_JPG (integer)

IMG_JPEG (integer)

IMG_PNG (integer)

IMG_WBMP (integer)

IMG_XPM (integer)

IMG_COLOR_TILED (integer)

IMG_COLOR_STYLED (integer)

IMG_COLOR_BRUSHED (integer)

IMG_COLOR_STYLEDBRUSHED (integer)

IMG_COLOR_TRANSPARENT (integer)

IMG_ARC_ROUNDED (integer)

IMG_ARC_PIE (integer)

IMG_ARC_CHORD (integer)

IMG_ARC_NOFILL (integer)

IMG_ARC_EDGED (integer)

IMAGETYPE_GIF (integer)

IMAGETYPE_JPEG (integer)

IMAGETYPE_PNG (integer)

IMAGETYPE_SWF (integer)

IMAGETYPE_PSD (integer)

IMAGETYPE_BMP (integer)

IMAGETYPE_WBMP (integer)

IMAGETYPE_XBM (integer)

IMAGETYPE_TIFF_II (integer)

IMAGETYPE_TIFF_MM (integer)

IMAGETYPE_IFF (integer)

IMAGETYPE_JB2 (integer)

IMAGETYPE_JPC (integer)

IMAGETYPE_JP2 (integer)

IMAGETYPE_JPX (integer)

IMAGETYPE_SWC (integer)

Примеры

Пример 1. PNG creation with 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);

?>

This example would be called from a page with a tag like: <img src="button.php?text=text">. The above button.php script then takes this "text" string and overlays it on top of a base image which in this case is "images/button1.png" and outputs the resulting image. This is a very convenient way to avoid having to draw new button images every time you want to change the text of a button. With this method they are dynamically generated.

Содержание

gd_info -- Retrieve information about the currently installed GD library

getimagesize -- Get the size of an image

image_type_to_extension -- Get file extension for image type

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

imageantialias -- Should antialias functions be used or not

imagearc -- Draw a partial ellipse

imagechar -- Draw a character horizontally

imagecharup -- Draw a character vertically

imagecolorallocate -- Allocate a color for an image

imagecolorallocatealpha -- 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

imagecolormatch -- Makes the colors of the palette version of an image more closely match the true color version

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

imageconvolution -- Apply a 3x3 convolution matrix, using coefficient div and offset

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

imagefilter -- Applies a filter to an image

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

imageistruecolor -- Finds whether an image is a truecolor image

imagejpeg -- Output image to browser or file

imagelayereffect -- Set the alpha blending flag to use the bundled libgd layering effects

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

imagesavealpha -- Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

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

imagexbm -- Output XBM image to browser or file

iptcembed -- Embed binary IPTC data into a JPEG image

iptcparse -- Parse a binary IPTC http://iptc.org/ block into single tags.

jpeg2wbmp -- Convert JPEG image file to WBMP image file

png2wbmp -- Convert PNG image file to WBMP image file

Пред.

Начало

След.

iis_stop_service

Уровень выше

gd_info

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting