Imagick::linearStretchImage
(PECL imagick 2, PECL imagick 3)
Imagick::linearStretchImage — Stretches with saturation the image intensity
说明
public Imagick::linearStretchImage(float
$blackPoint
, float $whitePoint
): boolStretches with saturation the image intensity.
参数
-
blackPoint
-
The image black point
-
whitePoint
-
The image white point
返回值
成功时返回 true
。
范例
示例 #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();
}
?>

User Contributed Notes 1 note
SkepticaLee ¶
8 years ago
"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");
?>
备份地址:http://www.lvesu.com/blog/php/imagick.linearstretchimage.php