you can easily create a wallpaper from any image you like with imagemagick's convert command:

convert <the image you like> -gravity center -resize <value in pixels> -background <color> -extent <your screen resolution> <name of the wallpaper file>

the bash script created by moviuro does the job for you. it detects main color of the image, creates a canvas with specified resolution and detected color, scales the selected image and puts it in the middle of the canvas.


example:
let's take the hi-res of this image (sudo-red.png)

the command ./makemywall.sh -s 1920 1080 will create a fullhd wallpaper for desktop

the command ./makemywall.sh -s 1080 1920 will create a fullhd wallpaper for your handy


for bulk convertion use find . -type f -name '*.png' | ./makemywall.sh 1080 1920