{"id":1186,"date":"2013-06-13T21:36:25","date_gmt":"2013-06-13T17:36:25","guid":{"rendered":"http:\/\/ilya2606.ru\/?p=1186"},"modified":"2013-06-14T16:45:24","modified_gmt":"2013-06-14T12:45:24","slug":"%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d1%8d%d1%84%d1%84%d0%b5%d0%ba%d1%82-blur-%d0%ba%d0%b0%d0%ba-%d0%b2-ios-7","status":"publish","type":"post","link":"http:\/\/ilya2606.ru\/?p=1186","title":{"rendered":"\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442 Blur, \u043a\u0430\u043a \u0432 iOS 7"},"content":{"rendered":"<p><a href=\"http:\/\/ilya2606.ru\/wp-content\/uploads\/2013\/06\/ios7-blur-ps-action_1x.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-1187\" alt=\"\u042d\u0444\u0444\u0435\u043a\u0442 \u0431\u043b\u044e\u0440\u0430\" src=\"http:\/\/ilya2606.ru\/wp-content\/uploads\/2013\/06\/ios7-blur-ps-action_1x-300x225.png\" width=\"300\" height=\"225\" srcset=\"http:\/\/ilya2606.ru\/wp-content\/uploads\/2013\/06\/ios7-blur-ps-action_1x-300x225.png 300w, http:\/\/ilya2606.ru\/wp-content\/uploads\/2013\/06\/ios7-blur-ps-action_1x.png 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u0412\u0437\u0433\u043b\u044f\u043d\u0443\u0432 \u043d\u0430 iOS 7, \u043c\u0435\u043d\u044f \u0443\u0434\u0438\u0432\u0438\u043b\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0430 blur \u043d\u0430 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043f\u0430\u043d\u0435\u043b\u044c\u043a\u0430\u0445 \u044d\u0442\u043e\u0439 \u0447\u0443\u0434\u043e-\u041e\u0421. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0442\u0440\u0435\u043d\u0434, \u0430 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u0432 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.<\/p>\n<p><!--more--><\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e\u0442 \u044d\u0444\u0444\u0435\u043a\u0442 \u0438 \u043d\u0430\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043d\u0430 &#8220;\u043f\u0430\u043d\u0435\u043b\u044c\u043a\u0443&#8221;.<\/p>\n<p>\u0412\u043e\u0437\u044c\u043c\u0435\u043c \u0434\u0432\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f (UIView). \u041d\u0430 \u043e\u0434\u043d\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435\u043a\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430, \u0430 \u0432\u0442\u043e\u0440\u043e\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0440\u0445, \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0442\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c \u0441 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u043c \u0431\u043b\u044e\u0440\u0430.<\/p>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0434\u0443\u043c\u0430\u044e\u0442, \u0447\u0442\u043e \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u0431\u043b\u044e\u0440\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044e, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u044f \u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e &#8211; \u044d\u0442\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u043e. \u0412\u0442\u043e\u0440\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0443\u0436\u0435 &#8220;\u0437\u0430\u0431\u043b\u044e\u0440\u0435\u043d\u043d\u0443\u044e&#8221; \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0437\u044f\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442 \u0431\u043b\u044e\u0440\u0430 (\u0440\u0430\u0437\u043c\u044b\u0442\u0438\u0435), \u0430 \u0437\u0430\u0442\u0435\u043c \u043d\u0430\u043d\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435.<\/p>\n<p>&nbsp;<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043a\u043e\u0434\u043e\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u043c \u0431\u043b\u044e\u0440\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"http:\/\/en.wikipedia.org\/wiki\/Gaussian_blur\">\u0440\u0430\u0437\u043c\u044b\u0442\u0438\u0435 \u043f\u043e \u0413\u0430\u0443\u0441\u0441\u0443<\/a>.<\/p>\n<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e 2 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 iOS:<\/p>\n<p><strong>iOS 7 \u0438 \u0432\u044b\u0448\u0435 (\u041f\u0440\u0438\u043c\u0435\u0440 Apple)<\/strong><\/p>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"http:\/\/d.pr\/f\/SDZ9\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a><\/p>\n<p><strong>iOS 6 \u0438 \u0432\u044b\u0448\u0435 (\u041c\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440)<\/strong><\/p>\n<p>\u041a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430 <a href=\"http:\/\/bit.ilya2606.ru\/DPBlur\">GitHub<\/a><\/p>\n<p>\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f \u0434\u043b\u044f UIImage. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u0431\u043b\u044e\u0440\u0430 iOS 7 \u0438 \u043e\u0442\u0442\u0435\u043d\u043a\u0430 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 iOS 6 \u0438 \u0432\u044b\u0448\u0435<\/p>\n<pre dir=\"ltr\">\/**\r\n * -(UIImage*)getBlurredImage\r\n *\r\n * \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u0431\u043b\u044e\u0440\u043e\u043c\r\n *\/\r\n-(UIImage*)getBlurredImage{\r\n    return [self getBlurredImageWithTintColor:nil];\r\n}\r\n\r\n\/**\r\n * -(UIImage*)getDarkBlurredImage\r\n *\r\n * \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u0442\u0435\u043c\u043d\u044b\u043c \u0431\u043b\u044e\u0440\u043e\u043c\r\n *\/\r\n-(UIImage*)getDarkBlurredImage{\r\n    UIColor *tintColor = [UIColor colorWithWhite:0.11 alpha:0.73];\r\n    return [self getBlurredImageWithTintColor:tintColor];\r\n}\r\n\r\n\/**\r\n * -(UIImage*)getLightBlurredImage\r\n *\r\n * \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441\u043e \u0441\u0432\u0435\u0442\u043b\u044b\u043c \u0431\u043b\u044e\u0440\u043e\u043c\r\n *\/\r\n-(UIImage*)getLightBlurredImage{\r\n    UIColor *tintColor = [UIColor colorWithWhite:1.0 alpha:0.3];\r\n    return [self getBlurredImageWithTintColor:tintColor];\r\n}\r\n\r\n\/**\r\n * -(UIImage*)getExtraLightBlurredImage\r\n *\r\n * \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u043e\u0447\u0435\u043d\u044c \u0441\u0432\u0435\u0442\u043b\u044b\u043c \u0431\u043b\u044e\u0440\u043e\u043c\r\n *\/\r\n-(UIImage*)getExtraLightBlurredImage{\r\n    UIColor *tintColor = [UIColor colorWithWhite:0.97 alpha:0.81];\r\n    return [self getBlurredImageWithTintColor:tintColor];\r\n}\r\n\r\n\/**\r\n * -(UIImage*)getBlurredImageWithTintColor:\r\n *\r\n * \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u0431\u043b\u044e\u0440\u043e\u043c \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u043e\u0442\u0442\u0435\u043d\u043a\u043e\u043c\r\n *\r\n * @param \u0426\u0432\u0435\u0442 \u043e\u0442\u0442\u0435\u043d\u043a\u0430\r\n *\/\r\n- (UIImage*)getBlurredImageWithTintColor:(UIColor*)tintColor\r\n{\r\n    \/\/ \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u0431\u043b\u044e\u0440\u043e\u043c\r\n    CIContext *context = [CIContext contextWithOptions:nil];\r\n    \/\/ \u041a\u043e\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 CIImage\r\n    CIImage *inputImage = [CIImage imageWithCGImage:self.CGImage];\r\n    \/\/ \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0444\u0438\u043b\u044c\u0442\u0440 \"Gaussian Blur\"\r\n    CIFilter *filter = [CIFilter filterWithName:@\"CIGaussianBlur\"];\r\n    \/\/ \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043a \u0444\u0438\u043b\u044c\u0442\u0440\u0443 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\r\n    [filter setValue:inputImage forKey:kCIInputImageKey];\r\n    \/\/ \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0434\u0438\u0443\u0441 \u0440\u0430\u0437\u043c\u044b\u0442\u0438\u044f\r\n    CGFloat blurRadius = 15.0f;\r\n    \/\/ \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043a \u0444\u0438\u043b\u044c\u0442\u0440\u0443 \u0440\u0430\u0434\u0438\u0443\u0441 \u0440\u0430\u0437\u043c\u044b\u0442\u0438\u044f\r\n    [filter setValue:[NSNumber numberWithFloat:blurRadius] forKey:@\"inputRadius\"];\r\n    \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u0431\u043b\u044e\u0440\u043e\u043c.\r\n    \/\/ \u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415: \u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u044e\u0440\u0430 \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \r\n    \/\/ \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0437-\u0437\u0430 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0431\u043b\u044e\u0440\u0430 (Gaussian Blur)\r\n    CIImage *result = [filter valueForKey:kCIOutputImageKey];\r\n    \/\/ \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 CGImageRef\r\n    CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]];\r\n    UIImage *outputImage = nil;\r\n\r\n    \/\/ \u0415\u0441\u043b\u0438 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0446\u0432\u0435\u0442 \u043e\u0442\u0442\u0435\u043d\u043a\u0430, \u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e\r\n    if (tintColor) {\r\n        \/\/ \u0411\u0435\u0440\u0435\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\r\n        CGRect imageRect = { CGPointZero, self.size };\r\n        \/\/ \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u0431\u043b\u044e\u0440\u043e\u043c\r\n        UIGraphicsBeginImageContext(imageRect.size);\r\n        CGContextRef outputContext = UIGraphicsGetCurrentContext();\r\n        \/\/ \u041f\u0435\u0440\u0435\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\r\n        CGContextScaleCTM(outputContext, 1.0, -1.0);\r\n        CGContextTranslateCTM(outputContext, 0, -self.size.height);\r\n        \/\/ \u0420\u0438\u0441\u0443\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u0431\u043b\u044e\u0440\u043e\u043c \u043d\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435\r\n        CGContextDrawImage(outputContext, imageRect, cgImage);\r\n        \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430\r\n        CGContextSaveGState(outputContext);\r\n        \/\/ \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0446\u0432\u0435\u0442 \u043e\u0442\u0442\u0435\u043d\u043a\u0430\r\n        CGContextSetFillColorWithColor(outputContext, tintColor.CGColor);\r\n        \/\/ \u0417\u0430\u043b\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0446\u0432\u0435\u0442\u043e\u043c \u043e\u0442\u0442\u0435\u043d\u043a\u0430\r\n        CGContextFillRect(outputContext, imageRect);\r\n        \/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430\r\n        CGContextRestoreGState(outputContext);\r\n        \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u0431\u043b\u044e\u0440\u043e\u043c \u0438 \u043e\u0442\u0442\u0435\u043d\u043a\u043e\u043c\r\n        outputImage = UIGraphicsGetImageFromCurrentImageContext();\r\n        UIGraphicsEndImageContext();\r\n\r\n    }\r\n    else{\r\n        \/\/ \u0415\u0441\u043b\u0438 \u043e\u0442\u0442\u0435\u043d\u043a\u0430 \u043d\u0435\u0442, \u0442\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 UIImage\r\n        outputImage = [UIImage imageWithCGImage:cgImage];\r\n    }\r\n\r\n    return outputImage;\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>\u041d\u0430 \u0432\u0435\u0441\u044c \u044d\u0444\u0444\u0435\u043a\u0442 \u0431\u043b\u044e\u0440\u0430 \u0438 \u043d\u0430\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u0442\u0435\u043d\u043a\u0430 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430 \u0441 iPhone 5 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c 0.044 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><div align=\"right\"><div class=\"sharexyWidgetNoindexUniqueClassName\"><div id=\"shr_56642019\"><\/div><\/div><\/div><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>&nbsp; \u0412\u0437\u0433\u043b\u044f\u043d\u0443\u0432 \u043d\u0430 iOS 7, \u043c\u0435\u043d\u044f \u0443\u0434\u0438\u0432\u0438\u043b\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0430 blur \u043d\u0430 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043f\u0430\u043d\u0435\u043b\u044c\u043a\u0430\u0445 \u044d\u0442\u043e\u0439 \u0447\u0443\u0434\u043e-\u041e\u0421. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0442\u0440\u0435\u043d\u0434, \u0430 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u0432 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.<\/p>\n<div align=\"right\">\n<div class=\"sharexyWidgetNoindexUniqueClassName\">\n<div id=\"shr_56642019\"><\/div>\n<\/div>\n<\/div>\n<p><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,6,5],"tags":[60,68,62,65,61,66,63,64,67],"_links":{"self":[{"href":"http:\/\/ilya2606.ru\/index.php?rest_route=\/wp\/v2\/posts\/1186"}],"collection":[{"href":"http:\/\/ilya2606.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ilya2606.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ilya2606.ru\/index.php?rest_route=\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"http:\/\/ilya2606.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1186"}],"version-history":[{"count":10,"href":"http:\/\/ilya2606.ru\/index.php?rest_route=\/wp\/v2\/posts\/1186\/revisions"}],"predecessor-version":[{"id":1199,"href":"http:\/\/ilya2606.ru\/index.php?rest_route=\/wp\/v2\/posts\/1186\/revisions\/1199"}],"wp:attachment":[{"href":"http:\/\/ilya2606.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ilya2606.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1186"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ilya2606.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}