Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
imageconvolution
(PHP 5 >= 5.1.0RC1)
imageconvolution - Apply a 3x3 convolution matrix, using coefficient div and offsetОписание
bool imageconvolution ( resource image, array matrix3x3, float div, float offset )Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
ВниманиеК настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.
Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.
Эмулятор функции imageconvolution:
if(!function_exists('imageconvolution')){
function ImageConvolution($src, $filter, $filter_div, $offset){
if ($src==NULL) {
return 0;
}
$sx = imagesx($src);
$sy = imagesy($src);
$srcback = ImageCreateTrueColor ($sx, $sy);
ImageAlphaBlending($srcback, false);
ImageAlphaBlending($src, false);
ImageCopy($srcback, $src,0,0,0,0,$sx,$sy);
if($srcback==NULL){
return 0;
}
for ($y=0; $y<$sy; ++$y){
for($x=0; $x> 24);
for ($j=0; $j<3; ++$j) {
$yv = min(max($y - 1 + $j, 0), $sy - 1);
for ($i=0; $i> 16) & 0xFF) * $filter[$j][$i];
$new_g += (($rgb >> 8) & 0xFF) * $filter[$j][$i];
$new_b += ($rgb & 0xFF) * $filter[$j][$i];
$new_a += ((0x7F000000 & $rgb) >> 24) * $filter[$j][$i];
}
}
$new_r = ($new_r/$filter_div)+$offset;
$new_g = ($new_g/$filter_div)+$offset;
$new_b = ($new_b/$filter_div)+$offset;
$new_a = ($new_a/$filter_div)+$offset;
$new_r = ($new_r > 255)? 255 : (($new_r 255)? 255 : (($new_g 255)? 255 : (($new_b 127)? 127 : (($new_a = 0) && ($y < $sy)) {
imagesetpixel($src, $x, $y, $new_pxl);
}
}
}
imagedestroy($srcback);
return 1;
}
}
Смотрите также:
Все функции изображение
Описание на ru2.php.net
Описание на php.ru