A method comprising: causing a display of an image on a display device; obtaining (402, 506) one or more identifications of content depicted in the image; determining (404, 508) a current orientation of the content depicted in the image, wherein the current orientation is determined based on the one or more identifications of the content; wherein determining (404, 508) a current orientation includes selecting and applying one or more analysis techniques to determine the current orientation of the content depicted in the image, wherein determining the current orientation includes determining a resultant axis of the image that indicates the current orientation, wherein the one or more analysis techniques are selected from a plurality of techniques based on the one or more identifications of content depicted in the image; determining (406, 510) an amount of rotation for the image that orients the content closer to a predetermined reference orientation than to the current orientation, the amount of rotation indicating a determined rotational position for the image; determining a plurality of additional rotational positions and amounts of rotation needed for the additional rotational positions by applying a plurality of different techniques to produce the plurality of additional rotational positions, wherein each of the different techniques provides a respective additional rotational position for display of the image for the user, wherein the step of determining the plurality of additional rotational positions comprises repeating said step of determining (404, 508) a current orientation of the content to find a different resultant axis in the image based on one or more different analysis techniques and using the different resultant axis to determine another rotational position; receiving input from a user instructing rotation of the image; selecting the closest one of the determined rotational positions as appropriate for the input from the user, wherein if the input from the user indicates to rotate the image in a certain rotational direction, then the next closest determined rotational position in that rotational direction is selected; rotating the image by the determined amount of rotation associated with the selected rotational position; and causing a display of the rotated image, including changing the display of the image from the current orientation to a displayed rotated orientation, wherein the displayed rotated orientation corresponds to the selected rotational position. causing a display of an image on a display device; obtaining (402, 506) one or more identifications of content depicted in the image; determining (404, 508) a current orientation of the content depicted in the image, wherein the current orientation is determined based on the one or more identifications of the content; wherein determining (404, 508) a current orientation includes selecting and applying one or more analysis techniques to determine the current orientation of the content depicted in the image, wherein determining the current orientation includes determining a resultant axis of the image that indicates the current orientation, wherein the one or more analysis techniques are selected from a plurality of techniques based on the one or more identifications of content depicted in the image; determining (406, 510) an amount of rotation for the image that orients the content closer to a predetermined reference orientation than to the current orientation, the amount of rotation indicating a determined rotational position for the image; determining a plurality of additional rotational positions and amounts of rotation needed for the additional rotational positions by applying a plurality of different techniques to produce the plurality of additional rotational positions, wherein each of the different techniques provides a respective additional rotational position for display of the image for the user, wherein the step of determining the plurality of additional rotational positions comprises repeating said step of determining (404, 508) a current orientation of the content to find a different resultant axis in the image based on one or more different analysis techniques and using the different resultant axis to determine another rotational position; receiving input from a user instructing rotation of the image; selecting the closest one of the determined rotational positions as appropriate for the input from the user, wherein if the input from the user indicates to rotate the image in a certain rotational direction, then the next closest determined rotational position in that rotational direction is selected; rotating the image by the determined amount of rotation associated with the selected rotational position; and causing a display of the rotated image, including changing the display of the image from the current orientation to a displayed rotated orientation, wherein the displayed rotated orientation corresponds to the selected rotational position.