Salve amici

devo scrivere una funzione per ridimensionare un'immagine caricata e inserirla in una determinata area; esempio

ho un area di 400*300px e carico un'immagine da 1000*600px

questa deve essere ridimensionata in proporzione per entrare in questa area

ovviamente devo gestire la possibilità che l'area sia orizzontale, o quadrata e il file che carico sia verticale e viceversa

ovviamente se il file è più piccolo quindi gia entra nell'area non devo effettuare operazioni!

secondo me mi sto perdendo, perchè i possibili casi sono davvero tanti, e sto cercando, su carta, un algoritmo x gestirli tutti.

c'è qualcuno di voi che ha gia fatto una cosa del genere?

fatemi sapere grazie!