Image expansion is an interpolation problem which has been known to cause blurred and jagged edges. A number of methods have been developed to preserve sharp edges while preventing jaggedness, but the results are often unsatisfactory. In this paper, we propose an image expansion technique which can preserve sharpness of an image without jagged edges, while maintaining smoothness in other parts of the interpolated image. The input image is first expanded by the nearest neighbour interpolation method in order to preserve the original edges. It is also interpolated by another interpolation algorithm with a different degree of edge preservation. The absolute difference between the two outputs produces a residual image of edges with a magnitude which increases with the sharpness of an original edge. This edge residual image is then used to adaptively adjust the gamma value of a novel modified gamma contrast enhancement algorithm so that the edges can regain their original sharpness. A halo effect suppressor has also been introduced to suppress halo effects by avoiding over-sharpening of the edges. It has been shown that our algorithm can produce sharp images without jagged edges and outperform the other benchmarking algorithms visually and quantitatively.