Pues para que siga siendo una imagen, lo suyo sería usar
clip
. Pero esto sólo funcionará en elementos con posición absoluta y fija.
Luego podrías jugar con
min-(height|width)
, con
overflow
, etc.
La única forma de hacerlo mediante CSS y que siempre quede bien sin deformarse, es poniendo la imagen como imagen de fondo y luego usar
background-size
:
Código CSS:
Ver originaldiv {
background-image: url(afoto.png);
background-size: cover;
}