Imagick::sigmoidalContrastImage
(PECL imagick 2, PECL imagick 3)
Adjusts the contrast of an image
Description
Adjusts the contrast of an image with a non-linear sigmoidal contrast algorithm. Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. alpha indicates how much to increase the contrast: 0.00 is none; 3.00 is typical; 20.00 is pushing it. beta indicates where midtones fall in the resultant image, as a fraction of the quantum range: 0.0 is white, 0.5 is middle-gray, 1.0 is black (multiply by getQuantumRange()['quantumRangeLong'] to get the value to pass).
See also ImageMagick Examples -- Color Modifications — Sigmoidal Non-linearity Contrast.
Parameters
sharpenIf true increase the contrast, if false decrease the contrast.
alphaThe amount of contrast to apply.
1.00is very little,5.00is a significant amount,20.00is extreme.betaWhere the midpoint of the gradient will be. This value should be in the range
0.00to1.00- multiplied by the quantum value for ImageMagick.channelWhich color channels the contrast will be applied to.
Return Values
Success
Errors/Exceptions
Throws
Examples
Create a gradient image using Imagick::sigmoidalContrastImage() suitable for blending two images together smoothly, with the blending defined by alpha and beta
<?php
function generateBlendImage($width, $height, $alpha = 10, $beta = 0.5)
{
$imagick = new Imagick();
$imagick->newPseudoImage($width, $height, 'gradient:black-white');
$quanta = $imagick->getQuantumRange();
$imagick->sigmoidalContrastImage(true, $alpha, $beta * $quanta["quantumRangeLong"]);
return $imagick;
}