You'll want some type of fabric item and either fabric paint (the easier option) or regular acrylic paint that's been mixed with textile medium (best way to achieve a variety of colors cheaply).
I decided to make two prints: I wanted to make this little pouch I made as a gift a bit more personal with a printed image.
And I wanted to revive this tired out (but freaking comfy) T-shirt. Read on and I'll walk you through what I did for each project.
I cut a piece of regular household freezer paper to about the size of the side I wanted to work on with my little pouch.
I traced this piece of freezer paper onto paper so I could draw out a design.
I started simple / remember you'll have to cut out whatever you draw stencil-style with a knife so be honest with your current skill level for the best success.
You can trace whatever you draw by laying the freezer paper (shiny side down) on top of your drawing. If you're not super thrilled with your artistic ability print an image off and trace it instead.
Using your xacto knife and cutting mat, cut out your stencil... I got a bit creative...
If you have pieces that "fall out" like the interior of the bottom right heart seen above, you can just save them because you'll be able to put them back later.
Iron your stencil down where you want it (shiny side down). It takes about 30 sec to 1 minute to adhere the freezer paper well. Don't worry, it will not leave any residue on your finished item.
Add in the pieces that weren't attached and iron them too.
If you're using acrylics you'll have to mix your colors with the textile medium. Follow directions on textile medium.
Textile medium can be purchased cheaply in the craft section with all the cheapy liquid acrylics in stores like Hobby Lobby and Michaels. You can buy cheap colors to mix in here too.
I used this stuff - it says mix 2 parts acrylic to 1 part textile medium. I eyeballed it. It didn't cause problems. I eyeball lots of things... I'm a lazy crafter.
Mix it until it stops looking like this and looks like the acrylic did originally. Of course, if you go the easier route and buy actual fabric paint you can skip all this and move to next part.
Paint in the exposed areas with the colors you choose to use. Note: some lighter colors or thinner acrylics require multiple coats. Use your gut about when to do more coats.
Once done you can either let it all dry thoroughly or - if you're impatient like me - you can wait until it's tacky...
... then slowly and carefully peel back the freezer paper.
This works on more complicated levels as well. This t-shirt design was a beast to cut out and iron on but I really wanted the image so I sucked it up and went with it.
For a T-shirt or double layer of fabric you'll probably want to put some cardboard between the layers to prevent paint bleeding through to other side.
I used a thinner grey paint and didn't wait too long between coats, leaving some areas thinner than others for a "vintage" look.
I used tweezers to peel up all the small internal pieces.
Once your paint is completely dry you'll have to heat set it according to the directions - both fabric paints and textile medium has its own set of rules so do as instructed.
My textile medium says cover with dry cloth and press with dry iron for at least 20 seconds to set.
Now sit back and admire your awesomeness - you'll probably be able to trick your friends into believing you bought your new piece because (depending on you knife work) it will not look "hand made".