- Содержание
- GetImageSize
- ImageArc
- ImageChar
- ImageCharUp
- ImageColorAllocate
- ImageColorTransparent
- ImageCopyResized
- ImageCreate
- ImageCreateFromGif
- ImageDashedLine
- ImageDestroy
- ImageFill
- ImageFilledPolygon
- ImageFilledRectangle
- ImageFillToBorder
- ImageFontHeight
- ImageFontWidth
- ImageGif
- ImageInterlace
- ImageLine
- ImageLoadFont
- ImagePolygon
- ImageRectangle
- ImageSetPixel
- ImageString
- ImageStringUp
- ImageSX
- ImageSY
- ImageTTFBBox
- ImageTTFText
- ImageColorAt
- ImageColorClosest
- ImageColorExact
- ImageColorResolve
- ImageColorSet
- ImageColorsForIndex
- ImageColorsTotal
Вы можете использовать фуннкции работы с изображениями для получения размеров картинок в файлах JPEG, GIF, PNG, и, если у Вас есть библиотека GD (доступна на http://www.boutell.com/gd/), Вы также будете иметь возможность создавать GIF-изображения и управлять ими.
GetImageSize
GetImageSize -- получение размеров GIF, JPG или PNG изображений
Описание
array getimagesize(string filename, array [
imageinfo]);
Функция
GetImageSize() определяет размеры любых изображений в файлах GIF, JPG или PNG и возвращает размерность вместе с типом файла и строкой в формате высота/ширина, которую можно использовать в стандартном теге HTML IMG.
Возвращается массив из четырех элементов. Индекс 0 содержит ширину изображения в пикселах. Элемент 1 содержит высоту. Элемент 2 - флаг типа изображения. 1 = GIF, 2 = JPG, 3 = PNG. Элемент 3 - строку с корректным заданием "height=xxx width=xxx" для прямого использования в теге IMG
|
Пример 1. GetImageSize
<?php $size = GetImageSize("img/flag.jpg"); ?>
<IMG SRC="img/flag.jpg" <?php echo $size[3]; ?>>
|
Опциональный параметр imageinfo позволяет Вам получить некоторую дополнительную информацию о файле изображения. Сейчас возвращаеются разнообразные JPG APP маркеры в ассоцированном массиве. Некоторые программы используют эти APP для встраивания текстовой информации в изображение. Очень распространено встраивание IPTC
http://www.xe.net/iptc/ информации в APP13 маркер. Вы можете использовать функцию
iptcparse() для перевода бинарного APP13 маркера в нечто читабельное.
|
Пример 2. GetImageSize возвращает IPTC
<?php
$size = GetImageSize("testimg.jpg",&$info);
if (isset($info["APP13"])) {
$iptc = iptcparse($info["APP13"]);
var_dump($iptc);
}
?>
|
Примечание: Эта функция не требует библиотеки GD.
ImageArc
ImageArc -- рисует часть эллипса
Описание
int imagearc(int im, int cx, int cy, int w, int h, int s, int e, int col);
ImageArc рисует чать эллипса с центро в cx, cy (верхний левый угол - 0,0) в изображении im. w и h определяют высоту и ширину эллипса в соответствии с начальной и конечной точкой, определенными в аргументах s и e.
ImageChar
ImageChar -- рисует символы горизонтально
Описание
int imagechar(int im, int font, int x, int y, string c, int col);
ImageChar рисует первый символ из c в рисунке id с верхним левым углом в x,y (верхний левый - 0,0) цветом col. Шрифтом 1, 2, 3, 4 или 5, используются встроенные шрифты (больше цифра - больше шрифт).
Смотри также
imageloadfont().
ImageCharUp
ImageCharUp -- рисует символы вертикально
Описание
int imagecharup(int im, int font, int x, int y, string c, int col);
ImageCharUp рисует символ c вертикально в изображении im по координатам x, y (верхний левый - 0, 0) с цветом col. Если font равен 1, 2, 3, 4 или 5, используются встроенные шрифты.
Смотри также
imageloadfont().
ImageColorAllocate
ImageColorAllocate -- определяет цвет изображения
Описание
int imagecolorallocate(int im, int red, int green, int blue);
ImageColorAllocate возвращает цвет в схеме RGB. Аргумент im возвращается функцией
imagecreate(). ImageColorAllocate должна быть вызвана для создания каждого цвета, который планируется использовать в изображении, представленном im.
$white = ImageColorAllocate($im, 255,255,255);
$black = ImageColorAllocate($im, 0,0,0);
ImageColorTransparent
ImageColorTransparent -- определить цвет как прозрачный
Описание
int imagecolortransparent(int im, int [
col]);
ImageColorTransparent устанавливает прозрачный цвет в изображении im в col. im - идентификатор изображения, возвращенный
imagecreate(), а col - идентификатор цвета, возвращенный функцией
imagecolorallocate().
Возвращается идентификатор нового (или текущего, если не указан параметр col) прозрачного цвета.
ImageCopyResized
ImageCopyResized -- копирует и изменяет размеры части изображения
Описание
int imagecopyresized(int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH);
ImageCopyResized копир область одного изображения в другое. dst_im - изображение-получатель, src_im - исходное изображение. Если координаты исходного и результирующего изображений различны по ширине и высоте, производится соответствующее сжатие/растягивание фрагмента изображения. Координаты - относительно левого верхнего угла. Функция может быть использована для копирования фрагментов одного и того же изображения (если dst_im равно src_im) но если области перекроются, результат может быть непредсказуемым.
ImageCreate
ImageCreate -- создать новое изображение
Описание
int imagecreate(int x_size, int y_size);
ImageCreate возвращает идентификатор изображения чистого листа размерами x_size на y_size.
ImageCreateFromGif
ImageCreateFromGif -- создать новое изображение из файла или URL
Описание
int imagecreatefromgif(string filename);
ImageCreateFromGif возвращает идентификатор изображения, полученного из filename.
ImageDashedLine
ImageDashedLine -- нарисовать пунктирную линию
Описание
int imagedashedline(int im, int x1, int y1, int x2, int y2, int col);
ImageLine рисует пунктирную линию от x1,y1 до x2,y2 (верхний левй угол - 0,0) в изображении im цветом col.
Смотри также
imageline().
ImageDestroy
ImageDestroy -- уничтожить изображение
Описание
int imagedestroy(int im);
ImageDestroy освобождает память, ассоциированную с изображением im. im - идентификатор, возвращенный функцией
imagecreate().
ImageFill
ImageFill -- заливка
Описание
int imagefill(int im, int x, int y, int col);
ImageFill выполняет заливку, начиная с координат x, y (верхний левй угол - 0,0) цветом col изображения im.
ImageFilledPolygon
ImageFilledPolygon -- нарисовать закрашенный многоугольник
Описание
int imagefilledpolygon(int im, array points, int num_points, int col);
ImageFilledPolygon создает закрашенный многоугольник в изображении im. points - массив PHP содержит вершины многоугольника:
points[0] = x0,
points[1] = y0, points[2] = x1,
points[3] = y1, etc.
num_points - общее число вершин.
ImageFilledRectangle
ImageFilledRectangle -- нарисовать закрашенный прямоугольник
Описание
int imagefilledrectangle(int im, int x1, int y1, int x2, int y2, int col);
ImageFilledRectangle создает закрашенный прямоугольник цвета col в изображении im, начиная с координат верхнего левого угла x1, y1, и заканчивая в правом нижнем - x2, y2. 0, 0 - левый верхний угол изображения.
ImageFillToBorder
ImageFillToBorder -- заливка до указанного цвета
Описание
int imagefilltoborder(int im, int x, int y, int border, int col);
ImageFillToBorder выполняет заливку до границы, определенной цветом в border. Начальная точка заливки - x,y (верхний левый угол - 0,0) и облласть заливается цветом col.
ImageFontHeight
ImageFontHeight -- узнать высоту шрифта
Описание
int imagefontheight(int font);
Возвращает высоту шрифта font в пикселах.
Смотри также
imagefontwidth() и
imageloadfont().
ImageFontWidth
ImageFontWidth -- узнать ширину шрифта
Описание
int imagefontwidth(int font);
Возвращает ширину символа шрифта font в пикселах.
Смотри также
imagefontheight() и
imageloadfont().
ImageGif
ImageGif -- вывести изображение на браузер или в файл
Описание
int imagegif(int im, string filename);
ImageGif создает GIF файл с именем filename из изображения im. Аргумент im возвращается функцией
imagecreate().
Формат изображения будет соответствовать спецификации GIF87a, если изображение не было сделано прозрачным функцией
imagecolortransparent(), в этом случае формат будет соответствовать GIF89a.
Аргумент filename опционален, и если он отсутствует, строки изображения будут выводиться непосредственно на брайзер потоком. Указав тип изображения image/gif в функции header, вы можете создавать PHP скрипты, которые будут выводить GIF на браузер.
ImageInterlace
ImageInterlace -- включение/выключение чередования (interlace)
Описание
int imageinterlace(int im, int [
interlace]);
ImageInterlace() переключает бит чередования. Если interlace равен 1, изображение im будет выводиться поэтапно, и если interlace равно 0, чередование выключено.
Возвращается текущее состояние бита чередования для изображения.
ImageLine
ImageLine -- нарисовать линию
Описание
int imageline(int im, int x1, int y1, int x2, int y2, int col);
ImageLine рисует линию от x1,y1 до x2,y2 (левй верхний точка - 0,0) в изображении im цветом col.
Смотри также
imagecreate() и
imagecolorallocate().
ImageLoadFont
ImageLoadFont -- загрузить новый шрифт
Описание
int imageloadfont(string file);
ImageLoadFont загружает пользовательский растровый шрифт и возвращает идентификатор шрифта (который всегда больше 5, тобы не вызвать конфликта со встроенными шрифтами).
Файл шрифта - двоичный и архиетктурно зависимый. Это значит, что Вам следует генерировать файл шрифта на том процессоре (архитектуре), на котором Вы будете запускать PHP.
Таблица 1. Формат файла шрифта
| позиция байта |
тип данных C |
Описание |
| байты 0-3 |
int |
число символов в шрифте |
| байты 4-7 |
int |
значение первого символа в шрифте (часто 32 для пробела) |
| байты 8-11 |
int |
ширина символов в пикселах |
| байты 12-15 |
int |
высота символов в пикселах |
| байты 16- |
char |
массив с данными на символы, один байт на пиксел, для каждого символа - nchars*width*height. |
Смотри также
ImageFontWidth() и
ImageFontHeight().
ImagePolygon
ImagePolygon -- нарисовать многоугольник
Описание
int imagepolygon(int im, array points, int num_points, int col);
ImagePolygon создает многоугольник в изображении im. points - массив PHP, содержащий вершины многоугольника, т.е points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points - общее число вершин.
Смотри также
imagecreate().
ImageRectangle
ImageRectangle -- нарисовать прямоугольник
Описание
int imagerectangle(int im, int x1, int y1, int x2, int y2, int col);
ImageRectangle создает прямоугольник цветом col в изображении im, начиния с левой верхней координаты x1,y1 и заканчивая нижней правой x2,y2. 0,0 - левй верхний угол изображения.
ImageSetPixel
ImageSetPixel -- установить один пиксел
Описание
int imagesetpixel(int im, int x, int y, int col);
ImageSetPixel рисует пиксел x,y (верхний левый - 0,0) в изображении im цветом col.
Смотри также
imagecreate() и
imagecolorallocate().
ImageString
ImageString -- нарисовать строку горизонтально
Описание
int imagestring(int im, int font, int x, int y, string s, int col);
ImageString рисует строку s в изображении im по координатам x,y (верхний левый - 0,0) цветом col. Если font равен 1, 2, 3, 4 или 5, используются встроенные шрифты.
Смотри также
imageloadfont().
ImageStringUp
ImageStringUp -- нарисовать строку вертикально
Описание
int imagestringup(int im, int font, int x, int y, string s, int col);
ImageStringUp рисует строку s вертикально в изображении im по координатам x,y (верхний левый - 0,0) цветом col. Если font равен 1, 2, 3, 4 или 5, используются встроенные шрифты.
Смотри также
imageloadfont().
ImageSX
ImageSX -- get image width
Описание
int imagesx(int im);
ImageSX возвращает ширину изображения, определяемого im.
Смотри также
imagecreate() и
imagesy().
ImageSY
ImageSY -- узнать высоту изображения
Описание
int imagesy(int im);
ImageSY возвращает высоту изображения, определяемого im.
Смотри также
imagecreate() и
imagesx().
ImageTTFBBox
ImageTTFBBox -- установить границы области для текста, где используются шрифты TypeType
Описание
array ImageTTFBBox(int size, int angle, string fontfile, string text);
Функция рассчитывает и возвращает границы области (в пикселах) для текста с шрифтами TrueType.
- text
Измеряемая строка.
- size
Размер шрифта.
- fontfile
Имя файла TrueType шрифта. (Может быть и URL.)
- angle
Угол в градусах, под которым наклонен измеряемый text.
ImageTTFBBox() возвращает массив из 8-и элементов, представляющих четыре точки границы области текста:
| 0 |
нижний левый угол, позиция X |
| 1 |
нижний левый угол, позиция Y |
| 2 |
нижний правый угол, позиция X |
| 3 |
нижний правый угол, позиция Y |
| 4 |
верхний правый угол, позиция X |
| 5 |
верхний правый угол, позиция Y |
| 6 |
верхний левый угол, позиция X |
| 7 |
верхний левый угол, позиция Y |
Точки относятся к text безотносительно к углу, т.е "верхний левый" означает верхний левый угол текста при его горизонтальном расположении.
Функция требует две библиотеки: GD и Freetype.
Смотри также
ImageTTFText().
ImageTTFText
ImageTTFText -- впсать текст в изображение, используя TrueType шрифт
Описание
array ImageTTFText(int im, int size, int angle, int x, int y, int col, string fontfile, string text);
ImageTTFText рисует строку text в изображении, идентифицируемом im, начиная с координат x,y (верхняя левая - 0,0), под углом angle цветом col, используя файл TrueType шрифта, указанный в fontfile.
Координаты, указанные в x, y определяют базовую точку символа (приблизительно нижний левый угол). Это отличается от
ImageString(), где x,y определяют верхний правый угол первого символа.
angle в градусах, 0 означает написание текста с лава на право (в направлении на 3 часа), более высокие значения - поворот против часовой стрелки (т.е. 90 - написание текста с низу вверх).
fontfile - путь к файлу шрифта TrueType, который планируется использовать.
text - строка текста, которая может включать символы UTF-8 (в форма: { ) для доступа к сиволам за пределами первых 255.
col индекс цвета. Использование отрицания индекса цвета имеет эффект включения антиалиасинга.
ImageTTFText() возвращает массив из 8 элементов, представляющих четыре точки границы области вывода текста. Порядок точек: вепхняя левая, верхняя правая, нижняя правая, нижняя левая. ТОчки относятся к тексту без учета угла, т.е. "верхняя левая" означает верхний левый угол горизонтально расположенного текста.
Скрипт этого примера создает черный GIF 400x30 пикселей, со словом "Testing...", написанным шрифтом Arial.
|
Пример 1. ImageTTFText
<?php
Header("Content-type: image/gif");
$im = imagecreate(400,30);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
ImageTTFText($im, 20, 0, 10, 20, $white, "/path/arial.ttf", "Testing... Omega: Ω");
ImageGif($im);
ImageDestroy($im);
?>
|
Эта функция требует обе библиотеки: GD и
FreeType<.
Смотри также
ImageTTFBBox().
ImageColorAt
ImageColorAt -- узнать индекс цвета пиксела
Описание
int imagecolorat(int im, int x, int y);
Returns the index of the color of the pixel at the
specified location in the image.
Смотри также
imagecolorset() и
imagecolorsforindex().
ImageColorClosest
ImageColorClosest -- узнать индекс цвета, ближайшего заданному
Описание
int imagecolorclosest(int im, int red, int green, int blue);
Возвращает индекс цвета в палитре изображения, который "ближе всего" к указанному набору RGB.
"Дистанция" между желанным цветом и каждым цветом в палитре определяется так, как будто значения RGB определяют точки в трехмерном пространстве.
Смотри также
imagecolorexact().
ImageColorExact
ImageColorExact -- узнать индекс указанного цвета
Описание
int imagecolorexact(int im, int red, int green, int blue);
Возвращает индекс указанного цвета в палитре изображения.
Если цвет в палитре изображения не присутствует, возвращается -1.
Смотри также
imagecolorclosest().
ImageColorResolve
ImageColorResolve -- узнать индекс указанного цвета или его ближайшую возможную альтернативу
Описание
int imagecolorresolve(int im, int red, int green, int blue);
Эта функция всегда возвращает индекс для запрашиваемого цвета, одно из двух - или указанный цвет, или ближайшую альтернативу.
Смотри также
imagecolorclosest().
ImageColorSet
ImageColorSet -- установить цвет для указанного индекса в палитре
Описание
bool imagecolorset(int im, int index, int red, int green, int blue);
Эти установки устанавливают соответствие между индексом в палитре и цветом. это используется для создания эффектов сплошной заливки в палитре изображения без накладных расходов преобразования текущей заливки.
Смотри также
imagecolorat().
ImageColorsForIndex
ImageColorsForIndex -- узнать цвет по индексу
Описание
array imagecolorsforindex(int im, int index);
Возвращается ассоциативный массив с красным, синим и зеленым ключами, которые содержат соответствующие значения для указанного индекса цвета.
Смотри также
imagecolorat() и
imagecolorexact().
ImageColorsTotal
ImageColorsTotal -- количество цветов в палитре изображения
Описание
int imagecolorstotal(int im);
Возвращает количество цветов в указанной палитре.
Смотри также
imagecolorat() и
imagecolorsforindex().
Назад |
Содержание |
Вперед