|
Posted by Geuis on 08/28/06 18:34
Hi, new to the group.
I use the following code to resize images my users upload. They're
either blurry or they're jaggy.
Can someone recommend modifications or different code that will resize
images smoothly?
$o_file = $_GET['add'];
$image_info = getImageSize($o_file); // see EXIF for faster way
switch ($image_info['mime']) {
case 'image/gif':
if (imagetypes() & IMG_GIF) { // not the same as IMAGETYPE
$o_im = imageCreateFromGIF($o_file);
} else {
$ermsg = 'GIF images are not supported<br />';
}
break;
case 'image/jpeg':
if (imagetypes() & IMG_JPG) {
$o_im = imageCreateFromJPEG($o_file);
} else {
$ermsg = 'JPEG images are not supported<br />';
}
break;
case 'image/png':
if (imagetypes() & IMG_PNG) {
$o_im = imageCreateFromPNG($o_file);
} else {
$ermsg = 'PNG images are not supported<br />';
}
break;
case 'image/wbmp':
if (imagetypes() & IMG_WBMP) {
$o_im = imageCreateFromWBMP($o_file);
} else {
$ermsg = 'WBMP images are not supported<br />';
}
break;
default:
$ermsg = $image_info['mime'].' images are not supported<br
/>';
break;
}
if (!isset($ermsg)) {
list($width, $height) = getimagesize($o_file);
if($width>200){
$t_wd = 200;
$t_ht = round(($t_wd / $width) * $height);
$t_im = imageCreateTrueColor($t_wd,$t_ht);
imagecopyresampled ($t_im,$o_im,0,0,0,0,$t_wd,$t_ht,$width,$height);
imageJPEG($t_im);
imageDestroy($t_im);
}else{
imageJPEG($o_im);
imageDestroy($o_im);
}
}
?>
Navigation:
[Reply to this message]
|