[Issue #1181] Using UIImage calculated image orientation

Minor refactoring
This commit is contained in:
Mattt Thompson 2013-08-10 17:49:05 -07:00
parent 9174f5f906
commit 748260af04

View file

@ -49,6 +49,11 @@ static UIImage * AFInflatedImageFromResponseWithDataAtScale(NSHTTPURLResponse *r
return nil; return nil;
} }
UIImage *image = AFImageWithDataAtScale(data, scale);
if (image.images) {
return image;
}
CGImageRef imageRef = nil; CGImageRef imageRef = nil;
CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData((__bridge CFDataRef)data); CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData((__bridge CFDataRef)data);
@ -59,22 +64,15 @@ static UIImage * AFInflatedImageFromResponseWithDataAtScale(NSHTTPURLResponse *r
} }
if (!imageRef) { if (!imageRef) {
UIImage *image = AFImageWithDataAtScale(data, scale); imageRef = CGImageCreateCopy([image CGImage]);
if (image.images) {
CGDataProviderRelease(dataProvider);
if (!imageRef) {
return image; return image;
} }
imageRef = CGImageCreateCopy([image CGImage]);
} }
CGDataProviderRelease(dataProvider); CGDataProviderRelease(dataProvider);
if (!imageRef) {
return nil;
}
size_t width = CGImageGetWidth(imageRef); size_t width = CGImageGetWidth(imageRef);
size_t height = CGImageGetHeight(imageRef); size_t height = CGImageGetHeight(imageRef);
size_t bitsPerComponent = CGImageGetBitsPerComponent(imageRef); size_t bitsPerComponent = CGImageGetBitsPerComponent(imageRef);
@ -100,7 +98,7 @@ static UIImage * AFInflatedImageFromResponseWithDataAtScale(NSHTTPURLResponse *r
if (!context) { if (!context) {
CGImageRelease(imageRef); CGImageRelease(imageRef);
return [[UIImage alloc] initWithData:data]; return image;
} }
CGRect rect = CGRectMake(0.0f, 0.0f, width, height); CGRect rect = CGRectMake(0.0f, 0.0f, width, height);
@ -108,7 +106,7 @@ static UIImage * AFInflatedImageFromResponseWithDataAtScale(NSHTTPURLResponse *r
CGImageRef inflatedImageRef = CGBitmapContextCreateImage(context); CGImageRef inflatedImageRef = CGBitmapContextCreateImage(context);
CGContextRelease(context); CGContextRelease(context);
UIImage *inflatedImage = [[UIImage alloc] initWithCGImage:inflatedImageRef scale:scale orientation:UIImageOrientationUp]; UIImage *inflatedImage = [[UIImage alloc] initWithCGImage:inflatedImageRef scale:scale orientation:image.imageOrientation];
CGImageRelease(inflatedImageRef); CGImageRelease(inflatedImageRef);
CGImageRelease(imageRef); CGImageRelease(imageRef);