Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Show what code you've tried and are not happy with.

Very much this! One thing I would note: if you want crisp lines then draw at 0.5 increments. The reasons for this are due to the way Quartz anti-aliases. So a line from (0,0.5) to (10,0.5) would look like a crisp single-pixel line and (0,0) to (10,0) would look like it was straddling the pixel boundary and be anti-aliases across two pixels.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.