A ver, entonces no se entiende lo que estás buscando.
a) Tomar cualquier imagen (PNG, GIF, JPEG), procesarla y convertirla a JPEG únicamente
b) Tomar cualquier imagen (PNG, GIF, JPEG), procesarla y convertirla a su formato original (PNG, GIF, JPEG)
¿Qué acción es la que quieres tomar?
De cualquier forma los bloques lógicos los necesitas para saber el tipo de la imagen, lo que hagas después ya lo debes programar tu, analiza bien lo que requieres.
Y no, ese código no te va a hacer el trabajo, es sólo un ejemplo para que comprendas la lógica que debes plantearte.