Cross Stitch Tutorial - Rosie the Riveter
Cross Stitch Pattern Preview:

Download Pattern. The cross stitch chart is 91 stitches wide by 120 stitches high.

An anonymous user submitted this cross stitch pattern made from the famous Rosie the Riveter poster. Although the pattern came out fairly nice, there are some parts that I didn't like. For example, the lettering at the top is blurry, the words at the bottom are unreadable, and there is a greenish tinge in the background near her elbows and back, and her front forearm looks washed out above her elbow.

These types of problems are more common in drawn/illustrated images (as opposed to photographs of real-life scenes). There are a number of reasons why they occur, but today I'm going to show you some beginner/intermediate level steps you can take to counteract them, and in the end hopefully give you some tips that will make your patterns come out better. Remember that you can use any of these tips for any image, but some work better than others depending on the situations. To have the most control over your pattern, it's best to design it such that 1 pixel = 1 stitch, but the last tip in the series will help you get most of the way there. I know it looks really long, but I'll be doing a ton of screen shots, and circling in red the important part in each, so it should be easy to follow.

Also note that you can click on any of the images below to see a full-sized version.

The first thing you'll need is a decent image editing program, such as photoshop or the GNU Image Manipulation Program (GIMP). I would recommend GIMP, even though it's interface isn't as friendly as Photoshop, since it is free and open source. You can download it here for free, and don't worry, I'll show you step by step what you need to use.

Step 2 is to find the image that you want to use. I downloaded the Rosie the Riveter poster from Wikipedia. You can download the full sized one if you want, but since we're going to be shrinking the image later, you can just use this smaller one. Save that image to somewhere on your hard drive. This one is a little more enhanced/colored than the one used above, but it's what we have to work with...

Now load up the GIMP and open your image (Goto the File menu, select Open, and then goto the folder where you saved your image and select it to open). The first thing we're going to do is save a copy that we can edit. Always work on a copy, since accidents happen, and you don't want to ruin your only copy of a picture. When you save the copy, MAKE SURE YOU SAVE IT AS A PNG. I won't get into the technical reasons why, but this will help us avoid some blurring in later steps. Goto File->Save As, and change the extension to png, then click save, and when the "Save as PNG" window comes up, just accept the default options and hit save again. (Note: if your image already is a png, just give the file a different file name)

Save the image as a PNG with the default options

Now we should be working on a copy. Double check that the title for the window has your new filename in it.

Yes, we are working on our copy of the image, which is a PNG

Now let's talk about what we want to change about the image. There are three main things I think should be fixed. The first getting rid of the text at the bottom, since it won't show up in the final result, the second is making sure the "We Can Do It!" phrase will not get blurred in shrinking, and the third is to remove the gradients in the image. If you look closely at the image, the yellow transitions from a brighter to darker shade as you go from the center to the edges. The blue speech bubble uses a similar effect, and even the letters in "We Can Do It" transition from white to a pale blue. These gradients look great on a poster, and even work ok in some cross stitch patterns, but in this case I think they make the pattern more complex to stitch and aren't necessary. I.e. you could skip the background yellow in this image without detracting from your final result.

Ok, the easiest thing first. We're going to cut out the bottom text from the image. The way to do this is to use the square select tool:

Then select the top part of the image (everything you want to keep) like so:

We want to keep everything except the bottom text

And goto Image->Crop to Selection:

Crop to Selection

Now we have the same basic image, but with an unwanted part removed. Cutting out unwanted parts of the picture can go a long way towards making better looking patterns, since it lets you focus on just what you want from the picture. Remember, you can crop pretty much any part of your image, so if you want to focus on someone in the middle of a picture, and get rid of the background, then these same steps will work. Just select whatever part of the image you want to keep, and use the Crop to Selection menu item.

The next thing we're going to do is a little bit more advanced, but it's still easy to do once you see the tools. What we're going to do is to get rid of the gradients in the letters, in the speech bubble, and in the background. Once we fill them with a solid color, they will be easier to stitch, and we can avoid some of the blurring effect that you may see when converting an image into a cross stitch pattern.

The way we're going to do this is to make a new layer on top of our image (think of it as putting a transparent sheet on top of the image), and then we're going to color that in with a solid color over the places that have a gradient. So, the first step is to create a new layer in your image. You can do this by going to the Layer menu and selecting New Layer, or by finding the Layers, Channels, Paths window and selecting the 'new document' item in the middle/bottom left. Either way, when it pops up a window asking you about the new layer, leave the height and width alone (they should default to the same size as your image) and select 'Transparency' as the Layer Fill Type:

Make a new transparent layer

You now should have a new layer to work with.


Your new transparent layer, that we will fill with solid colors.

Since the areas that we are interested in have a fairly flat color, and it is fairly different from the colors surrounding it, we can make use of the 'Fuzzy Select Tool'. This tool is really useful, since it tries to select regions of similar color, which exactly matches our situation. If you don't have this, then you can use the lasso tool right next to it to select individual regions by hand, but it's much more time consuming.


The Fuzzy Select Tool (4th item on the top row) is our friend

Now is when we get to the tricky part. What we need to do is first select a region in the 'Background' layer, and then goto to the new transparent layer we just created, and fill it in the region we just selected with a solid color. It sounds more complicated than it is. So first, find the Layers, Channels, and Paths window, and select the Background layer:


Select the 'Background' layer by clicking on it

Now, click on the fuzzy select tool, and select one of the letters. I clicked in the middle of the W.

Uh oh, there is a problem. The selection didn't get all of the letter. Some of the top parts and bottom parts are outside of the blinking selected area. The reason for this is that the program is being too conservative in how closely colors match in it's 'Fuzzy' selection. This is fortunately easy to fix by increasing the 'Threshold' parameter:
Try a few values (by typing in a different number, and then clicking again) until you find something that works for you. If the selection isn't grabbing enough, increase the values. If the selection is grabbing too much, decrease the value. I found that, in this case, a value of 95 worked quite well for me:
As you can see, it selects all and only the W, which is exactly what we want.

Now that we are happy with the selection, it's time to paint over it with a solid color. Click on the 'New Layer' to go to it:

Finally, select the paint can and choose an appropriate color to fill it in with by selecting the colored boxes below it (I chose white for this letter):
Finally, just fill in the selected area by clicking on it. If you want to verify that it is filled in, click the little eyeball next to the 'Background' layer (that will hide that layer), and you should see something like this:

Now, click on the eyeball for the background layer again (or click where it should be) so that the background layer is visible. Repeat this for each of the letters, the speech bubble, and the yellow background. While you're at it, use a similar process with the square select box to get rid of the circle at the bottom that was left over from the text area. After you're done, you should have something like this (the background is hidden, like before, to show all the areas I filled in).

Remember, if something isn't filling in right, or if it's not selecting right, make sure that you're working on the appropriate layer (the 'Background' for selecting, and the 'New Layer' for filling).

Congrats! That's probably some of the most difficult image editing techniques you'll need to use to help your cross stitch charts! That wasn't so bad, was it?

Before we go on to the next step, we need merge the layer we just created and colored in back into the original image. To do so, select the 'New Layer' like before, then go to the Layer menu and select merge down. The 'New Layer' should now be gone from your Layers, Channels, and Paths window, and you should have only the background, but with the solid colors you just filled in. You should probably save the image at this point (File->Save ... do it often, because computer crashes are annoying.)

Before you do anything more, save ANOTHER copy of the image. The edits that we're about to apply are pretty drastic, and we'd hate you to accidentally clobber all the other editing work you just did. Space on hard drives is cheap these days, so saving multiple copies won't be a big deal, but losing a bunch of work is annoying. Can you tell that I've made this mistake many times before? Save yourself the headache, and just make another copy :) .

The next step we're going to do has two parts, with the goal being to get a rough estimate of what the pattern will look like, and to help eliminate the blurring that often occurs in illustrations. Before you do this, you should figure out two things: 1) about how many thread colors you want to use in your pattern, and 2) how big you want your pattern to be (remember that myphotostitch.com can only make patterns up to 150 stitches wide by 120 stitches high). In my case, I want the pattern to use about 30-40 different thread colors (since it makes the image look much nicer), and I want the final result to be 120 stitches high by however wide is necessary (fortunately, the program can figure out the appropriate width so that the image doesn't come out skewed.)

The first thing to do is to convert the image into an 'indexed image'. What this does is it tries to figure out a small but representative set of colors for the image. This process is similar to how MyPhotoStitch chooses thread colors, with the most important exception being that we try to match your image to the best DMC floss colors available, whereas GIMP is trying to find the best colors to match your image.

So what you want to do is to Goto the Image menu, and select Image->Mode->Indexed .

When you click it, you'll see a menu giving you options about how to convert the image to indexed colors. What you want to select is the 'Generate optimum palette' option, and type in the number of tread colors you want in your pattern PLUS 5 to 10 more. Since I want somewhere around 35 thread colors, I typed in 45 for this image. The reason you should add 5 to 10 more is that, due to the limited selection of DMC threads (although it is quite large), we won't be able to match all of the colors that GIMP chooses perfectly. This way gives a bit of leeway, and helps down the line.

Once you've done this, you'll notice that the image still looks pretty good, but it is starting to look a bit blockier (e.g. we've lost the fine gradients in Rosie's shirt:

The other reason we do this, is that in indexed color mode, when we shrink the image we should minimize the blurring that occurs (e.g. in the text). So the next step is to shrink the image down, such that there is 1 pixel per stitch for your pattern. To do this, go to the Image menu, and select 'Scale Image' (it will be a little bit under the mode selection from earlier). In the menu that pops up, make sure the chain is connected (it should be, by default) and type in however high or wide you want your image to be. It will then calculate the other dimension (width or height, resp.) so that your image isn't distorted. (Just a note, you may need to select a different area before it updates the number...it's annoying, yes, but it does the calculation correctly). In my case, I wanted the image to be 120 stitches high, so I typed that in, and it calculated that it should be 98 pixels wide. Since that is less than 150 (the limit on MyPhotoStitch.com) we're good, so click scale.

This is (probably) going to make your image much smaller, and more difficult to see, so the next thing to do is to zoom in on the image so we have a better idea of what it looks like. The easiest way to do this is to goto the View menu, and select Zoom and then 'Fit Image in Window'. In my case, I got this:


This is a rough approximation of what the pattern will look like. Overall it looks pretty good, but I don't like how some of the letters came out. To fix it, I'm going to use the pencil tool (with the smallest brush possible, a 'Circle (01)' (it looks like just a dot in the brush menu), and the eyedropper tool to select colors for the pencil as necessary. I'm going to do all my edits on a separate layer like before, that way I don't risk ruining my image, and I can make sure that the edits look good by toggling their visibility. This sort of manual editing can be time consuming and a bit annoying, but it can make all the difference in the final result. It basically matches the steps you'd need to do when creating a pattern by hand, except it saves you a lot of work since you start from something that's close to what you want (based on your original image). I'm not great at this, but here is how mine ended up, after cleaning up a few bits:
It could probably stand a few more touchups, but this one is good enough for me. Sending this to MyPhotoStitch.com, we get this as the final result:

Cross Stitch Pattern Preview:

Download Pattern. The pattern is 98 stitches wide by 120 stitches high.

It's difficult to directly compare with the original, since the source photos we used are different, but it's much more vibrant and has a much more interesting skin tones, as well as much clearer lettering. You should experiment, try combining the different techniques in different orders, and see what you get.

I'd love to hear your thoughts on this tutorial, whether it was helpful, if it was unclear in any part, or if you have any other tips/suggestions that you've found. Please Let Me Know!

Update: It's been pointed out that the step of converting to an indexed colors scheme (Mode->Indexed) may not be necessary. Instead of cleaning up the image and then shrinking it, you can first shrink the image to the size of your pattern, then do the cleanup process I described, and that may give better results. Fortunately, it's easy to try both ways, and it may be easier to clean up the previously resized image, so you may want to just try reversing the order of the tips!