This is a medium-difficulty tutorial on how to make a realistic night sky like the background of this picture using GIMP. The sky features a gradient background, large and small stars of various colors, the Milky Way, and a moon; any of these elements can easily be kept or skipped depending on what you want your sky to look like.
I’ve kept it as straightforward as possible, but it will be getting into some more advanced concepts, like layer masks and color levels. But fear not: You are equal to the challenge.
Step 1: Background Gradient
Open GIMP and create a new image. This one is 1500 x 1200. If you make a larger or smaller image, remember to adjust the size of the stars and other elements accordingly.
A good sky begins with a good gradient. Even at midnight, the sky is never solid black. Click on the gradient tool, go to the tool options dialog, and open the gradient selection dialog by clicking on the picture of the gradient and then clicking on the gradient selection dialog button in the bottom right corner. Click the create new gradient button (the plain white page) to start a new gradient.
You can make a simple two-color gradient if you like, but at least three colors makes for a more subtle and complex background. Right click on the bar below the gradient and click “Split Segment at Midpoint.” You now have a two-segment gradient. Right click on the left segment and click “Left Endpoint’s Color…” Set that to your sky’s top color. Then set the right endpoint of that segment to the sky’s middle color. Select the right segment and set its left endpoint color to the middle color and its right endpoint color to the sky’s bottom color. (The right endpoint of the left segment and the and the left endpoint of the right segment must be the same color or else the gradient will have a line.) I’ve used black, dark blue, and purple to evoke the sky just after sunset.
Use the gradient tool to draw a line from the top of the canvas to the bottom to add the gradient to your image. Perfectly vertical gradients are boring; give it a little angle. You may want to use a very large soft-edge smudge tool to fudge the gradient and make it look less uniform, but I didn’t bother.
Step 2: Small Stars
Add a new layer to the image. Color it black or any dark color used in the background.
Click on Filters > Noise > HSV Noise and play with the sliders until you reach a pattern you like. You’ll want a high value and a medium to high holdness, and if you want some color variation among the stars you’ll want a high saturation.
There are too many stars at this point, so let’s thin them out. Go to Colors > Levels. Under Input Levels, move the black triangle to the right and the gray triangle left until they’re close to each other. Nudge these around until you like the density and brightness of the star field.
Right now, the stars are all single sharp pixels. If you like how they look, feel free to keep them that way. However, if you would like bigger stars, go to Layer > Scale Layer (or use the scale tool) and scale your layer to about twice its original size. Then go to Layer > Layer to Image Size to crop the extra edges off the layer.
Deselect by going to Select > None. If you enlarged the stars, they’re probably much too sharp, so soften them with a light blur. Go to Filters > Blur > Gaussian Blur… and set the blur radius to 1 or 2 pixels.
Finally, add some variation to the density and intensity of the stars by erasing out parts with a very large soft-edge brush set to a low opacity. Erase more at the bottom of the image, where the sky is the lightest and the stars are least visible.
Go to Filters > Light and Shadow > Supernova. This effect creates a pretty many-rayed star. Set the radius to 1 or 2 pixels and the location and color to whatever you like. Repeat this, varying the location and color, until it looks good to you.
Step 4: The Milky Way
The Milky Way is the most complicated step, but it’s really what makes this image. Add a new black layer. Go to Filter > Render > Clouds > Difference Clouds… Set the X and Y size as high as they go and increase the detail until it looks as complex as you’d like.
To make the background show through, we’ll need a layer mask. Right click on the layer in the layers dialog and click Add Layer Mask… Select Grayscale Copy of Layer. Now black areas are treated as transparent.
Scale the layer to a little longer and narrower until the clouds are stretched in a way you like. Then rotate the layer to whatever orientation you want your Milky Way to have. Make sure that it’s long enough to go all the way across the image.
Now pull that large soft edged eraser back out. First set it to 100% opacity and erase those hard edges, then set the opacity low and erase streaks until it looks good. The Milky Way has a dark streak of nebulae through the middle, so make sure to erase a darker streak down the middle to simulate that. As with the stars, you also want to erase more near the bottom.
There’s no special trick to the moon. Make a new transparent layer and draw a large black or dark gray dot with fairly hard edges. Then draw on the lit part of the moon in off-white. The moon in this scene is almost new, so I only drew a little bit of white near the edge. Add details in white and slightly darker gray with a small medium hardness brush. I’ve hidden the other layers in this screenshot to make it easier to see.