Originariamente inviato da scalcodesign
Il mio problema è che ho delle foto troppo grandi e l'anteprima generata diventa poco visibile in quanto il particolare è troppo grande.
Dovrei implementare un sistema che prima mi rimpicciolisca la foto del 50% eppoi mi crea l'anteprima estrapolando il particolare centrale della foto ridimensionata.
Qualcuno sa aiutarmi?
grazie
Innanzitutto la tua funzione non restituisce alcun valore (non vedo un return), quindi non vedo cosa te ne fai dell $i. Inoltre sarebbe meglio se facessi un po' di gestione degli errori.

Per quanto riguarda le miniature non c'è affatto bisogno di fare uno step in più per portare la foto al 50% di dimensione.
Una volta che hai fatto

$imfile = imagecreatefromjpeg($filename);

usi le funzioni imagesx() e imagesy() per ottenere la dimensione della immagine originale e a quel punto fai dei test/calcoli per stabilire la dimensione del rettangolo da copiare nella immagine di 80x80 pixel.
Basta solo ragionare un pochino , concettualmente se l'immagine è molto grande allora dovresti prendere un rettangolo più piccolo e al contrario se l'immagine è piccola allora può prendere un rettangolo più grosso.