Scott Stevenson has two great posts about tutorials on drawing in Quartz 2D (here and here). I used his code to draw the graphic above.
One issue I've had was whether it's really necessary to use Core Graphics to draw to PDF from a command-line app. It's not, as this code shows. Thanks to a Stack Overflow answer for help.
// clang prog.m -o prog -framework Cocoa -fobjc-gc-only #import <Cocoa/Cocoa.h> //#import <AppKit/AppKit.h> @interface MyView : NSView @end @implementation MyView - (id)initWithFrame:(NSRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code here. } return self; } - (void)drawRect:(NSRect)dirtyRect { // just paste Scott Stevenson's code here } @end int main(int argc, char * argv[]) { MyView *myView; NSRect f = NSMakeRect(0,0,400,400); myView = [[MyView alloc] initWithFrame:f]; NSData *data = [myView dataWithPDFInsideRect:f]; [data writeToFile:@"x.pdf" atomically:YES]; return 0; } |