©
本文档使用 PHP中文网手册 发布
(PECL imagick 2.0.0)
Imagick::linearStretchImage — Stretches with saturation the image intensity
$blackPoint
, float $whitePoint
)Stretches with saturation the image intensity.
blackPoint
The image black point
whitePoint
The image white point
成功时返回 TRUE
。
Example #1 Imagick::linearStretchImage()
<?php
function linearStretchImage ( $imagePath , $blackThreshold , $whiteThreshold ) {
$imagick = new \ Imagick ( realpath ( $imagePath ));
$pixels = $imagick -> getImageWidth () * $imagick -> getImageHeight ();
$imagick -> linearStretchImage ( $blackThreshold * $pixels , $whiteThreshold * $pixels );
header ( "Content-Type: image/jpg" );
echo $imagick -> getImageBlob ();
}
?>
[#1] SkepticaLee [2014-06-11 12:54:54]
"Black" and "white" points here are pixel counts from the darkest and brightest ends respectively. To turn the darkest 90% of the pixels black, and the brightest 5% white, use the following:
<?php
$im = new Imagick ("some image.png");
list ($width, $height) = array_values ($im->getImageGeometry ());
$px = $width * $height;
$im->modulateImage (100, 0, 100);
$im->linearStretchImage ($px * 0.9, $px * 0.05);
$im->writeImage ("temp.jpg");
?>