Tendenzialmente non e` buona cosa usare formattazione inline (si mescola contenuto con formattazione).

Comunque se definisci solo UNA dimensione, l'altra dovrebbe autodimensionarsi per mantenere la proporzione.

Esempio:
codice:
#contenitore div {
  width: 400px;
  height: 400px;
}
#contenitore div img {
  width: 80%;           /* definisco solo larghezza */
  margin: auto;        /* centro immagine nel blocco */ 
  display: block;      /* altrimenti le dimensioni non hanno effetto */
  overflow: ...           /* cosa deve fare se altezza img supera div */
}