• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Imagick::linearStretchImage()

    (PECL imagick 2.0.0)

    Stretches with saturation the image intensity

    说明

    Imagick::linearStretchImage(float $blackPoint,float $whitePoint): bool

    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();
    }
    ?>
    
    "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");
    ?>