There is white in all colors and the ink takes on the color of the fabric. If you want to imprint to black (or any dark color) you need to build a white background. THis can be done many different ways but today you can buy opaque transfer paper that will do it for you.
Myself personally I don't like imprinting dark fabric because I don't like the "feel" of the transfer.
As photodiver mentioned, there are opaque transfers that will print to dark shirts, but they leave the white in the design so you have to cut to the design exactly, plus the opaque transfers are lower quality and tend to start cracking/peeling topo quickly.
Using normal transfer paper, you will get a very visible wax window (the white area where you cut up to the design; whatever is left colorless on the white paper) surrounding your design, and the colors of the image will blend into the color of the shirt as well.
You might look into using plastisol transfers. These are basically transfer papers where someone screen prints your design on to them, then you can apply them to a shirt with a heat press. Same look and feel of screen printing. There is also a method called vinyl/flock, where something (generally vinyl) is cut into your desired design and can then be applied with a heat press. Neither of these options give you the full-color spectrum available with heat transfer on to light shirts, though.
A forum community dedicated to T-shirt merchants, professionals and enthusiasts. Come join the discussion about graphics, commerce, dyes, prints, collections, guides, displays, styles, scales, equipment, accessories, reviews, classifieds, and more!