This is my preferred way to do fades, because it's less of a hassle when you change your mind and includes no erasing! I use Photoshop.
* Copy-pasta into PS. Make a new layer beneath with the color you think you'll use for the background. I usually use the crop tool to drag the canvas out a little above/below the image, depending on if you're fading above/below.
Example.
* LAYER MASK! ;D Put a layer mask on the image layer, select the gradient tool (colors will be grayscale as black = 0% opacity, white = 100% opacity, make sure you have black and white selected) and then just do a gradient on the layer mask. Voila! You'll have magically hidden something in a fade! Holding shift down will make it a straight line when you fade. The longer the line, the bigger the fade.
* If you want more of a transition in the fade, there's something called "Feathering" in layer mask properties too. I don't know where you find it in different versions but I use it a lot, just be careful! If you feather too much the bottom line of your fade might become slightly visible (like the bottom left of the image I linked). You can also use a brush to "erase" more of the image using the layer mask. Black will "erase", white will "unhide" it again. :)
* When you're satisfied with your fade and background color and everything else, crop/resize and save!