PHP ImageMagick - Simulation Of Sketches



In this chapter, you will be learning to simulate different types of sketches using a few inbuilt functions provided by Imagemagick.

Simulating a Charcoal Drawing

ImageMagick provided a method called charcoalImage() which produces the charcoal drawing of the input image.

Syntax

public Imagick::charcoalImage(float $radius, float $sigma): bool

This function takes 2 parameters: radius and sigma.

  • Radius is a float value that specifies the radius of the Gaussian (in pixels), not counting the center pixel.

  • Sigma is also a float value that specifies the standard deviation of the Gaussian, in pixels.

Example

This is an example which shows the implementation of charcoalImage() function. At first, a new imagick object is created and an image is taken as input. Then, charcoalImage() function is applied on that image. The required output is obtained in the form of charcoalImage.png.

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png");
   $image->charcoalImage(2, 2);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/charcoalImage.png");
?>

Assume that the following is the input image (image.png) in the program −

Simulating Charcoal Drawing

Output

Simulating Charcoal Drawing

Simulating a Pencil Sketch

There is an inbuilt function called sketchImage() provided by Imagemagick which produces the pencil sketch of the input image.

Syntax

public Imagick::sketchImage(float $radius, float $sigma, float $angle): bool

This function consists of 3 parameters: radius, sigma, and angle. These are float values. Radius specifies the radius of the Gaussian (in pixels), sigma specifies the standard deviation of the Gaussian (in pixels) and angle specifies the angle by which the effect must be applied and specifies the angle of the blurring motion.

Example

This is an example which shows the implementation of sketchImage() function. At first, a new imagick object is created and an image is taken as input. Then, sketchImage() function is applied on that image. The required output is obtained in the form of sketchImage.png.

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png");
   $image->sketchImage(11, 11, 30);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/sketchImage.png");
?>

Assume that the following is the input image (image.png) in the program −

Simulating
Pencil Sketch

Output

Simulating
Pencil Sketch

Simulating an Oil Painting

Oil painting is a type of painting produced using oil-based paints. Without using oil paints in real, this oil painting can be simulated using an inbuilt function oilPaintImage() of Imagemagick in PHP.

Syntax

public Imagick::oilPaintImage(float $radius): bool

This function contains only one parameter which is radius which is a float value. It specifies the radius of the circular neighborhood. This function takes an image as input and applies a special effect filter that simulates an oil painting and produces that as output.

Example

This is an example which shows the implementation of oilPaintImage() function. At first, a new imagick object is created and an image is taken as input. Then, oilPaintImage() function is applied on that image. The required output is obtained in the form of oilPaintImage.png.

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png");
   $image->oilPaintImage(2);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/oilPaintImage.png");
   ?>

Assume that the following is the input image (image.png) in the program −

Simulating Oil Painting

Output

Simulating Oil Painting
Advertisements