Usunąłem całkowicie element obrazu i ustawiłem go jako tło div z klasą .frame.
To przynajmniej działa dobrze na Internet Explorer 8, Firefox 6 i Chrome 13.
Sprawdziłem, i to rozwiązanie nie zadziała do zmniejszania obrazów większych niż 25 pikseli wysokości. Istnieje właściwość o nazwie background-size, która ustawia rozmiar elementu, ale jest to CSS 3, co kolidowałoby z wymaganiami Internet Explorer 7.
Radziłbym Ci albo przerobić priorytety przeglądarek i projektować dla najlepszych dostępnych przeglądarek, albo zdobyć jakiś kod po stronie serwera do zmiany rozmiaru obrazów, jeśli chciałbyś użyć tego rozwiązania.
Bardzo ważne jest, abyś albo nadał obrazom klasę, albo użył dziedziczenia, aby skierować obrazy, które potrzebujesz wyśrodkowane. W tym przykładzie użyliśmy .frame img {}, aby tylko obrazki zawinięte przez div z klasą .frame były targetowane.