Lo mejor sería guardar las imagenes con cada resolución que necesites, para ahorrar el espacio de imagenes grandes que no usarás y recursos de procesamiento que requieren ajustar la imagen cada vez que se carga.
Para eso tenés todas
las funciones de imagenes (click)
La idea sería crear una imagen nueva en tamaño, resolución y calidad final que desees, abrir la imagen que ya tienes, copiarla dentro de la nueva imagen y finalmente guardar la nueva imagen en el formato deseado.
De paso, en el medio se le pueden agregar marcas de agua, texto, etc.
Espero que sirva. Cualquier cosa consultá.
Saludos.