I'm currently working on Pligg CMS-based website and its default Image Upload Module which attaches thumbnails to posts from user provided links is using PHP's GD library for image processing. The thumbnails resulted have a reduced quality and after a little bit of web search I found that I should replace the imagecopyresized function with imagecopyresampled.
The main problem is I am a rookie in web development and I don't know where to start. The chunk of code I think (thus maybe wrong) is responsible for the image processing and needs to be edited is the following:
// create a new temporary image
$tmp_img = imagecreatetruecolor( $new_width, $new_height );
// copy and resize old image into new image 
while (file_exists("$thumb_dir/$name$i.jpg")) $i++;
$name = "$name$i.jpg";
imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
if (!imagejpeg( $tmp_img, "$thumb_dir/$name",$settings['quality'] ))
    $error .= "Can't create thumbnail $thumb_dir/$name";
else
    $db->query("INSERT INTO ".table_prefix."files 
            SET file_size='$size',
                file_orig_id='$orig_id',
                file_user_id={$current_user->user_id},
                file_link_id=$link_id,
                file_ispicture=1,
                file_comment_id='".$db->escape($_POST['comment'])."',
                file_real_size='".filesize("$thumb_dir/$name")."',
                file_name='".$db->escape($name)."'");
}
return $error;
From what I see, the image is first processed through the imagecreatruecolor function into a new tmp_img which is then processed through the imagecopyresized function. 
Since I don't have experience, I can't tell if this is the right path for an image of XY size to be resized without reducing its quality. Should I replace both imagecreatetruecolor and imagecopyresized with imagecopyresampled?
 
     
     
    