當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。