С помощью imagecreate()
вы создаете файл PNG с индексированным цветом, а с imagecreatetruecolor()
вы создаете файл PNG с 24-битным цветом.Конечно, качество передискретизации будет выглядеть намного лучше с истинным цветным изображением, так как оно имеет гораздо больший диапазон цветов, которые можно использовать при передискретизации.С imagecreate()
система может использовать только гораздо меньшую палитру.
Вы можете попробовать это с помощью Photoshop или Gimp, масштабируя изображения в различных цветовых режимах (индексированных и RGB).К сожалению, это характер игры - размер файла будет больше, когда будет больше цветов для хранения.
Я не уверен, что это изменится, но вы можете попробовать использовать imagecopyresampled()
дляскопировать в ресурс истинного цвета (из imagecreatetruecolor()
), а затем скопировать (но не переизмерить) , что , в ресурс изображения палитры.Таким образом, палитра определяется на основе результата повторной выборки.Я не уверен, что вы сможете сохранить альфа-канал.