na <img /> tego nie zrobisz z założeń HTMLa.
1. Możesz to zrobić za pomocą przykładowo DIVa i w nim background i background-position.
2.
Albo dać kontener z konkretnym wymiarem przykładowo DIVa z text-align: center i w nim <img /> - tego raczej nie zrobisz zbyt prosto dodając samo text-align: center, więc sobie daruj. Zrobiłem Ci dla 2. dwa przykłady:
Tu masz z użyciem <img /> jeśli nie znasz wymiarów kontenera/rozdzielczości (musisz użyć JS):
http://jsfiddle.net/4eYX9/348/A tu masz z użyciem <img /> jeśli znasz wymiary kontenera/rozdzielczości (sam CSS):
http://jsfiddle.net/4eYX9/349/