A mi se me ocurre esto:
Código PHP:
$parts=explode(".",$fichero);
$ext=$parts[count($parts)-1]; //obtenemos la extension
eval("\$image=imagecreatefrom$ext(\$fichero);");
//Tratamos la imagen
eval("image$ext(\$image,'thumb2_$fichero');");
El problema esta en el ultimo eval. Si el resultado lo queremos meter en un fichero, funciona sin problemas, como se muestra en el código... pero si lo que queremos es volcar la imagen al navegador (es decir, si no le especificamos el segundo parámetro) el código anterior falla.
Según la documentación de eval (http://www.php.net/eval) indica que para hacer eso habria que jugar con las funciones de control de salida (http://es.php.net/manual/es/ref.outcontrol.php), pero todavia no se como...
¿Alguna otra idea?