Background Image on pages
As said in other answers you can do that by theming. If you want to go for modules. Then these are for you.
Background Images

Background images is a collection of modules that allows users to add background images to html elements on pages of the site

Background Images Formatter

This module provides an image formatter who allows you to set an image
in background of a div. The images are from a field of an entity and
not from a configuration page or sth else, so it's very easy to setup
and manage.
Use cases

You want to display a image on the back of a div when viewing a
particular node.
You want to display a random image on the back of a div on the
frontpage only. This can be done using Views. Create a block, select
the &quot;Background Image&quot; formatter for your image field, save, place
the block, boom, you're done.