array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.imagesetstyle.php', 1 => 'imagesetstyle', ), 'up' => array ( 0 => 'ref.image.php', 1 => 'Функции GD и функции для работы с изображениями', ), 'prev' => array ( 0 => 'function.imagesetpixel.php', 1 => 'imagesetpixel', ), 'next' => array ( 0 => 'function.imagesetthickness.php', 1 => 'imagesetthickness', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/image/functions/imagesetstyle.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagesetstyle — Установка стиля рисования линий
imagesetstyle() задаёт стиль, который будет использоваться
функциями рисования линий (такими как imageline() и
imagepolygon()) при задании специального цвета
IMG_COLOR_STYLED
или
IMG_COLOR_STYLEDBRUSHED
.
image
Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().
style
Массив с цветами пикселов. Можно использовать константу
IMG_COLOR_TRANSPARENT
для добавления прозрачной точки.
Обратите внимание, что style
не должен быть пустым массивом.
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Следующий пример рисует пунктирную линию из левого верхнего угла изображения в правый нижний:
Пример #1 Пример использования imagesetstyle()
<?php
header("Content-type: image/jpeg");
$im = imagecreatetruecolor(100, 100);
$w = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);
/* Рисование пунктирной линии, 5 красных точек, 5 белых */
$style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);
/* Рисование линии из смайликов, используя imagesetbrush() с imagesetstyle */
$style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
imagesetstyle($im, $style);
$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$w2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $w2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);
imagejpeg($im);
imagedestroy($im);
?>
Вывод приведённого примера будет похож на: