PHP | Imagick randomThresholdImage() Function

The Imagick::randomThresholdImage() function is an inbuilt function in PHP which is used to change the value of individual pixels based on the intensity of each pixel compared to the threshold. The result is a high-contrast, two-color image.


bool Imagick::randomThresholdImage( $low, $high, $channel )

Parameters: This function accepts three parameters as mentioned above and described below:

  • $low: This parameter stores the value of the low point.
  • $high: This parameter stores the value of the high point.
  • $channel: This parameter provides the channel constant that is valid for channel mode. More then one channel can be combined using bitwise operator. The defaults channel in Imagick function is Imagick::CHANNEL_DEFAULT.

Return Value: This function returns True on success.

Original Image:

Program 1:

// require_once('path/vendor/autoload.php');
header('Content-type: image/png');
//Crete Imagick Object
$image = new Imagick(
// Use randomThresholdImage Function
$image->randomThresholdImage(0.3, 0.5, 5);
// Display the image
echo $image;


Program 2:

$string = "Computer Science portal for Geeks!"
// Creating new image of above String 
// and add color and background 
$im = new Imagick(); 
$draw = new ImagickDraw(); 
// Fill the color in image 
$draw->setFillColor(new ImagickPixel('green')); 
// Set the text font size 
$metrix = $im->queryFontMetrics($draw, $string); 
$draw->annotation(0, 40, $string); 
$im->newImage($metrix['textWidth'], $metrix['textHeight'], 
new ImagickPixel('white')); 
// Draw the image        
// Use randomThresholdImage Function
$im->randomThresholdImage(0.3, 0.5, 5);
header("Content-Type: image/jpg"); 
// Display the output image 
echo $im->getImageBlob(); 


Reference: http://php.net/manual/en/imagick.randomthresholdimage.php

This article is attributed to GeeksforGeeks.org

leave a comment



load comments

Subscribe to Our Newsletter