略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Imagick::levelImage

2024-04-28

Imagick::levelImage

(PECL imagick 2, PECL imagick 3)

Imagick::levelImageAdjusts the levels of an image

说明

public Imagick::levelImage(
    float $blackPoint,
    float $gamma,
    float $whitePoint,
    int $channel = Imagick::CHANNEL_DEFAULT
): bool

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

参数

blackPoint

The image black point

gamma

The gamma value

whitePoint

The image white point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

返回值

成功时返回 true

错误/异常

错误时抛出 ImagickException。

范例

示例 #1 Imagick::levelImage()

<?php
function levelImage($blackPoint$gamma$whitePoint) {
    
$imagick = new \Imagick();
    
$imagick->newPseudoimage(500500'gradient:black-white');

    
$imagick->setFormat('png');
    
$quantum $imagick->getQuantum();
    
$imagick->levelImage($blackPoint 100 $gamma$quantum $whitePoint 100);

    
header("Content-Type: image/png");
    echo 
$imagick->getImageBlob();
}

?>
add a noteadd a note

User Contributed Notes 1 note

up
5
Maxim Lovchikov
11 years ago
I have a trouble with this method because think that quantum range is 0 - 255.
But quantum range for levelImage is 0-65535. You can get quantum range with Imagick::getQuantumRange
There is a right piece of code

$img->levelImage (0, 1.0, 65535);

官方地址:https://www.php.net/manual/en/imagick.levelimage.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3