Core Text


 * Common Operations - Apple
 * http://www.slideshare.net/DJune/text-layout-with-core-text

CGContextTranslateCTM(context, 0.0f, rect.size.height); CGContextScaleCTM(context, 1.0f, -1.0f); NSPoint p = NSMakePoint(x+5,5); CGContextSaveGState(ctx); CGContextTranslateCTM(ctx, 0, b.origin.y+y+25); // Flip temporarily for text CGContextScaleCTM(ctx, 1.0, -1.0); [string drawAtPoint: p withAttributes:nil];   // Draw your strings CGContextRestoreGState(ctx);
 * http://trailsinthesand.com/exploring-iphone-graphics-part-1/
 * http://forums.macrumors.com/showthread.php?t=925312
 * http://stackoverflow.com/questions/1195987/upside-down-text-quartz-iphone-cgcontextscalectm

The CGAffineTransformMake... functions create new transforms from scratch, where the others concatenate transforms. Views and layers can only have one transform applied to them at a time, so this is how you create multiple scaling, rotation, and translation effects on a view at once. CGAffineTransform newTransform; newTransform = CGAffineTransformMakeRotation(1.57*2); ((UIImageView*)[dsry objectAtIndex:0]).transform = CGAffineTransformScale(newTransform,.5,.5);
 * http://discussions.apple.com/message.jspa?messageID=7878134
 * http://stackoverflow.com/questions/913470/iphone-sdk-how-do-you-measure-the-width-and-height-of-a-string-using-quartz
 * http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-framework-Quartz/Examples/Programming%20with%20Quartz/BasicDrawing/QuartzTextDrawing.py
 * http://stackoverflow.com/questions/3440825/does-cgcontextsettextmatrix-work-for-offscreen-bitmaps
 * http://stackoverflow.com/questions/1895818/how-do-i-use-cgaffinetransformmakescale-and-rotation-at-once
 * http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html#//apple_ref/c/func/CGAffineTransformMakeScale
 * http://stackoverflow.com/questions/216076/uiview-scale-to-0-using-cgaffinetransformmakescale

NSString

 * http://developer.apple.com/iphone/library/documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html