How to set the style for line drawing using imagesetstyle() function in PHP?


imagesetstyle() is an inbuilt function in PHP that is used to set the style for line drawing. It can be used by all line drawing functions like imagepolygon or imageline.

Syntax

bool imagesetstyle(resource $image, array $style)

Parameters

imagesetstyle() takes two parameters: $image and $style.

  • $image − Specifies the image resource to work on.

  • $style − Specifies the array of pixel colors.

Return Values

imagesetstyle() returns True on success or False on failure.

Example 1

<?php
   header("Content-type: image/jpeg");
   $img = imagecreatetruecolor(700, 300);
   $w = imagecolorallocate($img, 122, 122, 122);
   $red = imagecolorallocate($img, 255, 0, 0);

   /* Draw a dashed line, 5 red pixels, 5 white pixels */
   $style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
   imagesetstyle($img, $style);
   imageline($img, 0, 0, 200, 200, IMG_COLOR_STYLED);

   /* Draw a line of happy faces using imagesetbrush() with imagesetstyle */
   $style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
   imagesetstyle($img, $style);
   $brush = imagecreatefrompng('C:\xampp\htdocs\Images\img34.png');
   $w2 = imagecolorallocate($brush, 255, 255, 255);
   imagecolortransparent($brush, $w2);
   imagesetbrush($img, $brush);
   imageline($img, 200, 0, 0, 200, IMG_COLOR_STYLEDBRUSHED);

   imagejpeg($img);
   imagedestroy($img);
?>

Input Image

Output Image

Example 2

<?php
   // Load the png image using imagecreatefrompng() function.
   $img = imagecreatefrompng('C:\xampp\htdocs\Images\img34.png');
   
   // Allocated the blue and green colors
   $blue = imagecolorallocate($img, 0, 0, 255);
   $green = imagecolorallocate($img, 0, 255, 0);

   // Draw a dashed line, 5 blue pixels, 5 white pixels
   $style = array($blue, $blue, $blue, $blue, $blue, $green, $green, $green, $green, $green);
   imagesetstyle($img, $style);
   imageline($img, 0, 100, 800, 100, IMG_COLOR_STYLED);
   // Output image to the browser
   header('Content-type: image/png');
   imagepng($img);
?>

Output

Updated on: 09-Aug-2021

125 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements