First of all, welcome to StackOverflow.
Unless you provide some tests / screenshots we can't do much to help you, you seem to be using the right combination of functions (imagecreatetruecolor
/ imagecopyresampled
) so my first guess would go to the $quality
argument in imagejpeg
and imagepng
functions.
For imagejpeg
I suggest you use $quality = 90
. For imagepng
should be $quality = 9
.
You can also try sharpening the image by using a convulsion like this one right before saving the image:
ImageConvolution($dst_image, array(array(-1, -1, -1), array(-1, 16, -1), array(-1, -1, -1)), 8, 0);
For 3rdparty libraries I hear WideImage and Asido are quite good.