Искажения появляются скорее всего не из-за инструмента, который вы используете, а из-за неправильных настроек, например антиалиасинг, качество JPEG-компрессии.
Чтобы найдите оптимальные значения, сделайте тестовый сет картинок, и с разными настройками нагенерируйте превьюшек и выберите те, которые лучше. Учтите, что например показатель сжатия в libjpeg и в фотошопе разные: если в фотошопе хватает 50-60, в libjpeg для аналогичного качества надо выставлять 75-85.
p.s. Я готовлю с помощью GD в PHP. Работает безупречно.