Create scalable vector halftones in Illustrator
One of the hardest things to accomplish in vector illustration is a halftone, which is a way of reproducing a monochrome image using only dots of varying sizes. Halftones are especially important for graphic artists working with a limited number of colors (in poster or t-shirt designs, for example), because they give nuance to otherwise flat artwork. Moreover, vector halftones can be scaled to any size without showing pixelation.
In this tutorial, I’ll show you how to create a grayscale object and turn it into a vector halftone. These steps are written for Adobe Illustrator CS5, but the process is very similar for previous versions of Illustrator.
Step 1: Prepare your document
It’s important that your new document has a large canvas. Choose File -> New. Once the New Document window appears, enter an appropriate name (i.e. Halftone Object). Choose Web from the New Document Profile pop-up menu and then add in a width and height of 1800x1800 px. Now click OK to create the document.
You’ll need to tweak one more setting before you can begin, though. Choose Effect -> Document Raster Effects Settings. Under Resolution, click Other and enter 288 ppi. Illustrator uses the standard screen metric of 72 ppi, and by choosing a raster setting that is a multiple of 72, you’ll get better results when tracing. To continue, click OK.
Step 2: Create your object
You’ll now need to create a simple object with a greyscale gradient. This can be accomplished in a number of ways—standard gradients, gradient meshes and blends—but for now, let’s create a blend with a star-shaped object.
Choose the Star Tool from the toolbar—you’ll find it in the same place as the Rectangle Tool—and create a star shape that fills most of the document. (Or, choose the Star Tool and click the center of the canvas. This calls star settings window. Enter Radius 1: 800, Radius 2: 420 and Points: 5, and then click OK.)
Select the star and then choose File -> Copy, followed by File -> Paste in Place. This pastes a copy of the star on top of the existing star, and for the moment, it’ll look as though there is still only one star on your canvas. Choose Object -> Transform -> Scale. A Scale window appears, allowing you to precisely scale the object you’ve just pasted. Click Uniform, enter 25% and then click OK. You’ll see a small star sitting atop the original large one.
Now you’ll need to set to color for each star. Choose Window -> Color to call up the fill and stroke color panel. You’ll see two boxes in the top left, which represent the color of the fill (the solid square) and the stroke (the square with the square hole in it). Clicking either square brings it to the front, allowing you to change the color of that attribute. Select the small star, bring the stroke square forward (if necessary) and then remove the stroke by clicking the white box with the red line through it, found in the bottom left of the color panel. Now bring the fill square forward and set the fill color to a dark grey (for example, enter an RGB value of R=77, G=77, B=77).
Repeat this process for the large star, removing its stroke but this time setting the fill color to white (RGB R=255, G=255, B=255). When you click on the canvas, the large star will disappear—no need for concern.
Choose Select -> Select All, followed by Object -> Blend -> Make. Instantly, you’ll see a soft gradient appear between the two stars.
Step 3: Apply Color Halftone filter
Once you’ve got a object with a smooth gradient, you can convert it into a halftone. At this point you’ll actually convert the vector artwork into a bitmap, but don’t worry, you’ll bring it back to vector mode before you’re done.
Select the star and choose Effect -> Pixelate -> Color Halftone. The first field in the Color Halftone window asks you to choose the maximum radius, a setting that controls the relative size of the halftone dots. Enter 96 into this field. The next four fields ask you to set the the screen angles for four different channels. Enter 128 in each field. Click OK to continue.
The conversion to halftone is a processor-intensive task and may take few seconds and you will see a progress bar. Once it’s complete, you’ll see that the object is now composed of black dots. If you aren’t happy with the size of these halftone dots, choose undo and repeat the process. Enter a different number for maximum radius: a larger number gives you larger dots, and a smaller number means smaller dots.
Step 4: Trace your halftone object
In order to turn your new halftone artwork into a vector object, you’ll need to use Illustrator’s Live Trace.
Select the halftone artwork with the Object Selection Tool and choose Object -> Expand Appearance. Choose Object -> Live Trace -> Tracing Options.
In the top left of the Tracing Options window, you’ll see a pop-up menu for Presets. Choose Simple Trace and then click Trace. The tracing process may take up to a minute, depending upon the density of the halftone dots.
When the trace is complete, choose Object -> Expand. A pop-up window will offer you a few options for the operation, but you don’t need to change anything. Click OK, and you’ll see that your halftone has indeed been turned to vector. (The tracing process yields slightly imperfect circles, but they're certainly sufficient for a halftone.)
You can change your new halftone to any color you wish—just select the object and pick a color!
You can now use your slick new halftone object in a t-shirt design or poster, knowing that it will scale to any size without degrading. You’ll find this halftone technique works well on grayscale photos, too—give it a try!
[Chris McVeigh is an author, illustrator and toy photographer who lives in Halifax, Nova Scotia.]
- Faster performance.
- Variable-width strokes.
- Natural media-style painting.
- Perspective Grid drawing.
- Web-ready text anti-aliasing.
- Pixel Grid alignment.
- Tight Flex and Flash Catalyst integration.
- Perspective Grid doesn’t honor appearances or match object perspectives.
- Second, obscure step required for Web-ready text anti-aliasing.
- Longstanding feature requests ignored.