From feafd5ede32962d1fb17ef30e1dc7bbe9f61ad83 Mon Sep 17 00:00:00 2001 From: Elmar Tampe Date: Wed, 24 Apr 2013 11:56:14 +0200 Subject: [PATCH 1/3] Make use of the scale of the display to generate the correct dimensions for the blurred image. --- Classes/UIImage+StackBlur.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/UIImage+StackBlur.m b/Classes/UIImage+StackBlur.m index 16c7dcf..a1954f5 100644 --- a/Classes/UIImage+StackBlur.m +++ b/Classes/UIImage+StackBlur.m @@ -92,8 +92,8 @@ - (UIImage*) stackBlur:(NSUInteger)inradius CGImageRef imageRef = CGBitmapContextCreateImage(ctx); CGContextRelease(ctx); - UIImage *finalImage = [UIImage imageWithCGImage:imageRef]; - CGImageRelease(imageRef); + UIImage *finalImage = [[UIImage alloc] initWithCGImage:imageRef scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]; + CGImageRelease(imageRef); CFRelease(m_DataRef); free(m_PixelBuf); return finalImage; From 0ed5a56f29c89751bec54cea0c542a51cba163ca Mon Sep 17 00:00:00 2001 From: Elmar Tampe Date: Wed, 24 Apr 2013 12:03:28 +0200 Subject: [PATCH 2/3] Make use of generic imageOrientation and added scale awareness for normalize method --- Classes/UIImage+StackBlur.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/UIImage+StackBlur.m b/Classes/UIImage+StackBlur.m index a1954f5..451c779 100644 --- a/Classes/UIImage+StackBlur.m +++ b/Classes/UIImage+StackBlur.m @@ -92,7 +92,7 @@ - (UIImage*) stackBlur:(NSUInteger)inradius CGImageRef imageRef = CGBitmapContextCreateImage(ctx); CGContextRelease(ctx); - UIImage *finalImage = [[UIImage alloc] initWithCGImage:imageRef scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]; + UIImage *finalImage = [[UIImage alloc] initWithCGImage:imageRef scale:[UIScreen mainScreen].scale orientation:self.imageOrientation]; CGImageRelease(imageRef); CFRelease(m_DataRef); free(m_PixelBuf); @@ -321,7 +321,7 @@ - (UIImage *) normalize { CGContextDrawImage(thumbBitmapCtxt, destRect, self.CGImage); CGImageRef tmpThumbImage = CGBitmapContextCreateImage(thumbBitmapCtxt); CGContextRelease(thumbBitmapCtxt); - UIImage *result = [UIImage imageWithCGImage:tmpThumbImage]; + UIImage *result = [[UIImage alloc] initWithCGImage:tmpThumbImage scale:[UIScreen mainScreen].scale orientation:self.imageOrientation]; CGImageRelease(tmpThumbImage); return result; From 5b9e425cdf5da6f842c900d1d06c00d23fc485a6 Mon Sep 17 00:00:00 2001 From: Elmar Tampe Date: Wed, 24 Apr 2013 12:58:19 +0200 Subject: [PATCH 3/3] Fixes type warning --- Classes/UIImage+StackBlur.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/UIImage+StackBlur.m b/Classes/UIImage+StackBlur.m index 451c779..6c63cad 100644 --- a/Classes/UIImage+StackBlur.m +++ b/Classes/UIImage+StackBlur.m @@ -127,7 +127,7 @@ + (void) applyStackBlurToBuffer:(UInt8*)targetBuffer width:(const int)w height:( const size_t dvcount = 256 * divsum; int *dv = malloc(sizeof(int) * dvcount); - for (int i = 0;i < dvcount;i++) { + for (size_t i = 0;i < dvcount;i++) { dv[i] = (i / divsum); }