2013-09-25 4 views
1

я ссылку на веб-сайт, чтобы размыть изображение на прошивкой 5:Размытие изображения на iOS5

link

сайт предложил метод вволю, чтобы размыть изображение

наконец я использую

- (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur; 

размыть изображение.

Он отлично работает на IOS 6, но столкнулся с проблемой на прошивке 5

проблемы произошла в

CGContextRef ctx = CGBitmapContextCreate(
           outBuffer.data, 
           outBuffer.width, 
           outBuffer.height, 
           8, 
           outBuffer.rowBytes, 
           colorSpace, 
           kCGImageAlphaNoneSkipLast); 

CTX равен нуль, а сообщение об ошибке:

<Error>: CGBitmapContextCreate: invalid data bytes/row: should be at least 2560 for 8 integer bits/component, 3 components, kCGImageAlphaNoneSkipLast. 

Что это значит?

ответ

0

Заканчивать FXBlurView великого Ник Локвуда - который дает IOS 7 как размытия прошивкой 5 и выше

FXBlurView

+0

Почему CGImageGetBitsPerComponent в CGBitmapContextCreate составляет 8 ?, – user2814476

0

Вы можете использовать либо UIVisualEffectView, или если вы хотите больше контроля, вы можете использовать Пример кода Apple UIImageEffects.

Вот пример кода на библиотеки для разработчиков IOS: Blurring and Tinting an Image

А вот как его использовать:

#import "UIImageEffects.h" 
... 

self.originalImageView.image = [UIImageEffects imageByApplyingLightEffectToImage:[UIImage imageNamed:@"yourImage.png"]]; 
Смежные вопросы