= 0; --$i) { for ($j = $dim[1] - 1; $j >= 0; --$j) { $newPixel = 0; for ($ki = $kDim[0] - 1; $ki >= 0; --$ki) { for ($kj = $kDim[1] - 1; $kj >= 0; --$kj) { $newPixel += $kernel[$ki][$kj] * \imagecolorat($im, \min(\max($i + $ki - $kWidthRadius, 0), $dim[0] - 1), \min(\max($j + $kj - $kHeightRadius, 0), $dim[1] - 1) ); } } \imagesetpixel($im, $i, $j, (int) $newPixel); } } } if (\strripos($outPath, 'png') !== false) { \imagepng($im, $outPath); } elseif (\strripos($outPath, 'jpg') !== false || \strripos($outPath, 'jpeg') !== false) { \imagejpeg($im, $outPath); } else { \imagegif($im, $outPath); } \imagedestroy($im); } }