文字

Imagick::linearStretchImage

(PECL imagick 2.0.0)

Imagick::linearStretchImageStretches with saturation the image intensity

说明

bool Imagick::linearStretchImage ( float $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 (1000100);
$im->linearStretchImage ($px 0.9$px 0.05);
$im->writeImage ("temp.jpg");
?>

上一篇: 下一篇: