The following information has been adapted from here
The first step is to create a Windows Bitmap Image (.bmp) of your chosen picture - the following examples will convert C:\splash.jpg (image is 1024x768). Start GIMP and open the file (or alternatively make your own image using GIMP).
To resize the image goto the Image Menu Scale Image... option.
GIMP will, by default, keep the same aspect ratio when resizing images. To disable this you will need to click on the icon next to the Width: and Height: boxes (see figure 1.) until it displays a broken link (see figure 2.).
Ensure that the Width: and Height: is set to 640 x 480, then click on the Scale button. Now goto the File Menu Save As... option, and save the image as a Windows Bitmap Image (.bmp file extension) - e.g. Save As C:\splash.bmp.
To set the maximum number of colours - goto the Image Menu —>Mode—>Indexed option. Change the maximum number of colors to 14 and click on the Convert button (although convert.exe (ImageMagick tool) can also be used to limit the maximum number of colours to 14 - the palette will not be optimised and the image is likely to be of poor quality. Using GIMP as outlined above will result in a much better image).
Although GIMP supports .xpm files, the Windows 32 port of the Gimp saves in an .xpm format that is not compatible with GRUB. Goto File Menu, and Save - retaining .bmp format. We have now finished with GIMP.
To convert the image to a Grub4dos compatible .xpm file, use the command line ImageMagick tool convert.exe with the syntax convert picture.bmp picture.xpm.gz. Open a command prompt in the ImageMagick install directory and enter the command convert.exe C:\splash.bmp C:\splash.xpm.gz.