Current contrast enhancement algorithms sometimes come with undesired drawbacks, like the loss of tiny details, enhancement of image noise, occasional over-enhancement, and unnatural look of the processed images. In this paper, we propose a new approach for contrast enhancement based on the use of a so-called intensity-pair distribution. This distribution possesses both local information and global information of the image content. By analyzing the content of intensity-pair distribution, a set of expansion forces are generated for contrast enhancement while another set of anti-expansion forces are generated to suppress image noise. To avoid overenhancement and preserve the natural look of the processed images, a magnitude mapping function is also proposed. Experimental results show that the proposed algorithm does provide a flexible and reliable way for contrast enhancement.