首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ImagickKernel::addUnityKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addUnityKernel — Description

Description

代码语言:javascript
复制
public void ImagickKernel::addUnityKernel ( void )

Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. This in effect adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels.

Parameters

This function has no parameters.

Return Values

Examples

Example #1 ImagickKernel::addUnityKernel()

代码语言:javascript
复制
<?php



????function?renderKernelTable($matrix)?{
????????$output?=?"<table?class='infoTable'>";
????
????????foreach?($matrix?as?$row)?{
????????????$output?.=?"<tr>";
????????????foreach?($row?as?$cell)?{
????????????????$output?.=?"<td?style='text-align:left'>";
????????????????if?($cell?===?false)?{
????????????????????$output?.=?"false";
????????????????}
????????????????else?{
????????????????????$output?.=?round($cell,?3);
????????????????}
????????????????$output?.=?"</td>";
????????????}
????????????$output?.=?"</tr>";
????????}
????
????????$output?.=?"</table>";
????
????????return?$output;
????}

????$matrix?=?[
????????[-1,?0,?-1],
????????[?0,?4,??0],
????????[-1,?0,?-1],
????];

????$kernel?=?\ImagickKernel::fromMatrix($matrix);
????$kernel->scale(1,?\Imagick::NORMALIZE_KERNEL_VALUE);
????$output?=?"Before?adding?unity?kernel:?<br/>";
????$output?.=?renderKernelTable($kernel->getMatrix());
????$kernel->addUnityKernel(0.5);
????$output?.=?"After?adding?unity?kernel:?<br/>";
????$output?.=?renderKernelTable($kernel->getMatrix());
????
????
????$kernel->scale(1,?\Imagick::NORMALIZE_KERNEL_VALUE);
????$output?.=?"After?renormalizing?kernel:?<br/>";
????$output?.=?renderKernelTable($kernel->getMatrix());

????echo?$output;

?>

Example #2 ImagickKernel::addUnityKernel()

代码语言:javascript
复制
<?php
function?addUnityKernel($imagePath)?{

????$matrix?=?[
????????[-1,?0,?-1],
????????[?0,?4,??0],
????????[-1,?0,?-1],
????];

????$kernel?=?ImagickKernel::fromMatrix($matrix);

????$kernel->scale(4,?\Imagick::NORMALIZE_KERNEL_VALUE);
????$kernel->addUnityKernel(0.5);


????$imagick?=?new?\Imagick(realpath($imagePath));
????$imagick->filter($kernel);
????header("Content-Type:?image/jpg");
????echo?$imagick->getImageBlob();

}

?>

← ImagickKernel::addKernel

ImagickKernel::fromBuiltIn →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com