con la librería GD
puedes cambiar el tamaño, pero esto no implica directamente
perdida de calidad, obviamente al reducirla de tamaño se pierden datos, pero si la guardas en PNG con color verdadero (32 bits o true color)
no pierde calidad.
de hecho no he visto por ahora en GD alguna
función explicita para reducir calidad a menos de que la guardes en otro formato como GIF, más sin embargo aún en GIF se puede almacenar una paleta especifica (algunos renders de navegadores no lo soportan) y la imagen no perderia calidad, pero como te indique en GD no hay funciones para ello, como por ejemplo guardar BMP de 2bits monocromo (al menos
yo no las conozco, y no se si se implementen en el futuro
)