diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-06-22 16:00:51 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-06-22 16:00:51 +0000 |
commit | aedf95a5c89d5dc94884fca0917e3aa60dbccf5d (patch) | |
tree | 7a9c0a8a971ed0417adbbdc3b6cfe8fbe7e2a678 /iPhone | |
parent | 0f00539f6e4a7b203e65507e021ab923fa116550 (diff) |
[Author: altse]
Use UIImage drawing methods rather than CGContext. This respects the
UIImageOrientation unlike CGContext.
R=thomasvl
DELTA=21 (0 added, 14 deleted, 7 changed)
Diffstat (limited to 'iPhone')
-rw-r--r-- | iPhone/GTMUIImage+Resize.m | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/iPhone/GTMUIImage+Resize.m b/iPhone/GTMUIImage+Resize.m index f93a521..9dd2144 100644 --- a/iPhone/GTMUIImage+Resize.m +++ b/iPhone/GTMUIImage+Resize.m @@ -32,7 +32,6 @@ } CGFloat aspectRatio = imageSize.width / imageSize.height; CGFloat targetAspectRatio = targetSize.width / targetSize.height; - CGRect projectTo = CGRectZero; if (preserveAspectRatio) { if (trimToFit) { @@ -76,25 +75,12 @@ integralRect.size = targetSize; targetSize = CGRectIntegral(integralRect).size; - // iPhone recommended settings. - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGBitmapInfo bitmapInfo = (kCGBitmapByteOrder32Little | - kCGImageAlphaPremultipliedFirst); - - CGContextRef context = CGBitmapContextCreate(nil, // data - targetSize.width, - targetSize.height, - 8, // bitsPerPixel - 0, // bytesPerRow - colorSpace, - bitmapInfo); - CGColorSpaceRelease(colorSpace); - // Produce the image - CGContextDrawImage(context, projectTo, [self CGImage]); - CGImageRef resizedRef = CGBitmapContextCreateImage(context); - CGContextRelease(context); - UIImage *resized = [UIImage imageWithCGImage:resizedRef]; - CGImageRelease(resizedRef); - return resized; + // Resize photo. Use UIImage drawing methods because they respect + // UIImageOrientation as opposed to CGContextDrawImage(). + UIGraphicsBeginImageContext(targetSize); + [self drawInRect:projectTo]; + UIImage* resizedPhoto = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return resizedPhoto; } @end |