docock
06-17-2010, 01:19 PM
I'm using this code to put a filter on an image:
$filter="pixelate";
if ($filter == 'negative')
imagefilter($img,IMG_FILTER_NEGATE);
else
if ($filter == 'grayscale')
imagefilter($img,IMG_FILTER_GRAYSCALE);
else
if ($filter == 'brightness')
imagefilter($img,IMG_FILTER_BRIGHTNESS, $_REQUEST['arg1']);
else
if ($filter == 'contrast')
imagefilter($img,IMG_FILTER_CONTRAST, $_REQUEST['arg1']);
else
if ($filter == 'colorize')
imagefilter($img,IMG_FILTER_COLORIZE, $_REQUEST['arg1'], $_REQUEST['arg2'], $_REQUEST['arg3']);
else
if ($filter == 'edgedetect')
imagefilter($img,IMG_FILTER_EDGEDETECT);
else
if ($filter == 'emboss')
imagefilter($img,IMG_FILTER_EMBOSS);
else
if ($filter == 'gaussian_blur')
imagefilter($img,IMG_FILTER_GAUSSIAN_BLUR);
else
if ($filter == 'selective_blur')
imagefilter($img,IMG_FILTER_SELECTIVE_BLUR);
else
if ($filter == 'mean_removal')
imagefilter($img,IMG_FILTER_MEAN_REMOVAL);
else
if ($filter == 'pixelate')
imagefilter($img, IMG_FILTER_PIXELATE, 3, true);
else
if ($filter == 'smooth')
imagefilter($img,IMG_FILTER_SMOOTH, $_REQUEST['arg1']);
imagepng($img);
imagedestroy($img);
They all work fine, except the pixelate function, it's giving me:
Warning: imagefilter() expects parameter 2 to be long, string given
How can I alter the coding so that it will work?
$filter="pixelate";
if ($filter == 'negative')
imagefilter($img,IMG_FILTER_NEGATE);
else
if ($filter == 'grayscale')
imagefilter($img,IMG_FILTER_GRAYSCALE);
else
if ($filter == 'brightness')
imagefilter($img,IMG_FILTER_BRIGHTNESS, $_REQUEST['arg1']);
else
if ($filter == 'contrast')
imagefilter($img,IMG_FILTER_CONTRAST, $_REQUEST['arg1']);
else
if ($filter == 'colorize')
imagefilter($img,IMG_FILTER_COLORIZE, $_REQUEST['arg1'], $_REQUEST['arg2'], $_REQUEST['arg3']);
else
if ($filter == 'edgedetect')
imagefilter($img,IMG_FILTER_EDGEDETECT);
else
if ($filter == 'emboss')
imagefilter($img,IMG_FILTER_EMBOSS);
else
if ($filter == 'gaussian_blur')
imagefilter($img,IMG_FILTER_GAUSSIAN_BLUR);
else
if ($filter == 'selective_blur')
imagefilter($img,IMG_FILTER_SELECTIVE_BLUR);
else
if ($filter == 'mean_removal')
imagefilter($img,IMG_FILTER_MEAN_REMOVAL);
else
if ($filter == 'pixelate')
imagefilter($img, IMG_FILTER_PIXELATE, 3, true);
else
if ($filter == 'smooth')
imagefilter($img,IMG_FILTER_SMOOTH, $_REQUEST['arg1']);
imagepng($img);
imagedestroy($img);
They all work fine, except the pixelate function, it's giving me:
Warning: imagefilter() expects parameter 2 to be long, string given
How can I alter the coding so that it will work?