当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP ImagickKernel scale()用法及代码示例


ImagickKernel::scale()函数是PHP中的一个内置函数,用于按给定数量缩放给定内核列表。

用法:

void ImagickKernel::scale( float $scale, int $normalizeFlag )

参数:该函数接受上述和以下所述的两个参数:


  • $scale:它指定比例量。
  • $normalizeFlag:它指定比例的类型。

返回值:该函数不返回任何值。

以下示例程序旨在说明PHP中的ImagickKernel::scale()函数:

程序1:

<?php 
  
// Create a new imagick object 
$imagick = new Imagick( 
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); 
  
$matrix = [ 
    [0, 0, 1], 
    [0, 2, 1], 
    [1, 1, 1], 
]; 
  
// Create a kernel from built-in matrix 
$kernel = ImagickKernel::fromMatrix($matrix); 
  
echo 'Before scaling:<br>'; 
print("<pre>".print_r($kernel->getMatrix(), true)."</pre>"); 
  
// Scale the kernel 
$kernel->scale(5, Imagick::NORMALIZE_KERNEL_VALUE); 
  
echo 'After scaling:<br>'; 
print("<pre>".print_r($kernel->getMatrix(), true)."</pre>"); 
?>

输出:

Before scaling:
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 1
        )

    [1] => Array
        (
            [0] => 0
            [1] => 2
            [2] => 1
        )

    [2] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 1
        )

)
After scaling:
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 0.71428571428571
        )

    [1] => Array
        (
            [0] => 0
            [1] => 1.4285714285714
            [2] => 0.71428571428571
        )

    [2] => Array
        (
            [0] => 0.71428571428571
            [1] => 0.71428571428571
            [2] => 0.71428571428571
        )

)

程序2:

<?php 
  
// Create a new imagick object 
$imagick = new Imagick( 
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); 
  
$matrix = [ 
    [1, 2, -3], 
    [4, 5, 6], 
    [7, 8, 9] 
]; 
  
// Create a kernel from matrix 
$kernel = ImagickKernel::fromMatrix($matrix); 
  
// Scale the kernel 
$kernel->scale(4, Imagick::NORMALIZE_KERNEL_VALUE); 
  
// Add the filter 
$imagick->filter($kernel); 
  
// Show the output 
$imagick->setImageFormat('png'); 
header("Content-Type:image/png"); 
echo $imagick->getImageBlob(); 
?>

输出:

参考: https://www.php.net/manual/en/imagickkernel.scale.php



相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | ImagickKernel scale() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。