What is required in the hosting environment for WordPress to process an image into multiple sizes?

WordPress uses Imagemagick for image processing if it’s available and falls back to php-gd if it’s available. If neither are available, then no image processing is done.

Have a browse through the source code: