GoLang imageconvolution

request it (381)
GoLang replacement for PHP's imageconvolution [edit | history]



Do you know a GoLang replacement for PHP's imageconvolution? Write it!

PHP imageconvolution

PHP original manual for imageconvolution [ show | php.net ]

imageconvolution

(PHP 5 >= 5.1.0, PHP 7)

imageconvolutionApply a 3x3 convolution matrix, using coefficient and offset

Description

bool imageconvolution ( resource $image , array $matrix , float $div , float $offset )

Applies a convolution matrix on the image, using the given coefficient and offset.

Parameters

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

matrix

A 3x3 matrix: an array of three arrays of three floats.

div

The divisor of the result of the convolution, used for normalization.

offset

Color offset.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 Embossing the PHP.net logo

<?php
$image 
imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(200), array(0, -10), array(00, -1));
imageconvolution($image$emboss1127);

header('Content-Type: image/png');
imagepng($imagenull9);
?>

The above example will output:

Output of example : Embossing the PHP.net logo

Example #2 Gaussian blur

<?php
$image 
imagecreatetruecolor(180,40);

// Writes the text and apply a gaussian blur on the image
imagestring($image5108'Gaussian Blur Text'0x00ff00);
$gaussian = array(array(1.02.01.0), array(2.04.02.0), array(1.02.01.0));
imageconvolution($image$gaussian160);

// Rewrites the text for comparison
imagestring($image51018'Gaussian Blur Text'0x00ff00);

header('Content-Type: image/png');
imagepng($imagenull9);
?>

The above example will output:

Output of example : Gaussian blur

Notes

This function requires GD 2.1.0 or higher.

See Also