aboutsummaryrefslogtreecommitdiff
path: root/iPhone
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-06-22 16:00:51 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-06-22 16:00:51 +0000
commitaedf95a5c89d5dc94884fca0917e3aa60dbccf5d (patch)
tree7a9c0a8a971ed0417adbbdc3b6cfe8fbe7e2a678 /iPhone
parent0f00539f6e4a7b203e65507e021ab923fa116550 (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.m28
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