Implement new options for shrink

Have the ability to keep the ratio of the original image.
Have the ability to not upsize the original image.