prova a vedere se questo ti aiuta..
codice:
if($width_orig>$height_orig) { // FOTO ORIZZONTALE
$xg=$Xmax;
$yg=($Xmax/$width_orig)*$height_orig;
$xt=$x;
$yt=floatval(($x/$width_orig)*$height_orig);
} else {
$xg=($Ymax/$height_orig)*$width_orig; // FOTO VERTICALE
$yg=$Ymax;
$xt=floatval(($y/$height_orig)*$width_orig);
$yt=$y;
}
in pratica $width_orig e $height_orig li prendo con getimagesize dall'originale.
Dopo di che se la foto è orizzontale setto xg (per la foto ridimensionata grande) e xt (per la thumbnail) al valore massimo da me settato, e ottengo y facendo una semplice proporzione matematica, viceversa per la foto verticale.
Scusa se non ho guardato direttamente il codice, ma anche se banale come soluzione, ci avevo sclerato sopra e riaffrontarlo mi crea la nausea...