ImagickPixel::setColorValue()函数是PHP中的内置函数,用于为给定的ImagickPixel颜色设置所提供颜色通道的标准化值。归一化值是介于0和1之间的浮点数。
用法:
bool ImagickPixel::setColorValue( int $color, float $value )
参数:该函数接受上述和以下描述的两个参数:
$color:它指定COLOR常量。所有颜色常量的列表如下:imagick::COLOR_BLACK(11)
imagick::COLOR_BLUE(12)
imagick::COLOR_CYAN(13)
imagick::COLOR_GREEN(14)
imagick::COLOR_RED(15)
imagick::COLOR_YELLOW(16)
imagick::COLOR_MAGENTA(17)
imagick::COLOR_OPACITY(18)
imagick::COLOR_ALPHA(19)
imagick::COLOR_FUZZ(20)
$value:它指定要设置的值。
返回值:成功时此函数返回TRUE。
异常:该函数在错误时引发ImagickException。
下面给出的程序说明了PHP中的ImagickPixel::setColorValue()函数:
程序1:
// Create a new imagickPixel object
$imagickPixel = new ImagickPixel();
// Set the color value
$imagickPixel->setColorValue(imagick::COLOR_RED, 0.8);
// Get the Color value with imagick::COLOR_RED
$colorValue = $imagickPixel->getColorValue(imagick::COLOR_RED);
echo $colorValue;
?>
输出:
0.8
程序2:
// Create a new imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
// Get the pixel iterator to iterate through each pixel
$imageIterator = $imagick->getPixelIterator();
// Loop through pixel rows
foreach ($imageIterator as $row => $pixels) {
// Loop through the pixels in the row
if ($row % 5) {
foreach ($pixels as $column => $pixel) {
if ($column % 1000) {
// Set the color
$pixel->setColor("green");
// Set the color value of Imagick::COLOR_ALPHA (opacity)
$pixel->setColorValue(Imagick::COLOR_ALPHA, 0);
}
}
}
// Sync the iterator after each iteration
$imageIterator->syncIterator();
}
header("Content-Type:image/jpg");
echo $imagick;
?>
输出: