zoukankan      html  css  js  c++  java
  • iOS开发之使用UIimage+ImageEffects实现图片模糊效果

     效果图
    图片

    代码

    //

    //  ViewController.m

    //  UImage+ImageEffects-Demo

    //

    //  Created by 寒竹子 on 15/6/14.

    //  Copyright (c) 2015年 寒竹子. All rights reserved.

    //

    #import "ViewController.h"

    #import "GCD.h"

    #import "UIImage+ImageEffects.h"

    @interface ViewController ()

    @property (nonatomic, strong) UIImageView * imageView;

    @property (nonatomic)         UIViewContentMode contentMode; // 图片显示的模式

    @end

    @implementation ViewController

    - (instancetype)init

    {

        if (self = [super init]) {

            // Initial code

        }

        

        return self;

    }

    @synthesize contentMode = _contentMode;

    #pragma mark - getter and setter

    - (void)setContentMode:(UIViewContentMode)contentMode

    {

        _contentMode = contentMode;

        self.imageView.contentMode = contentMode;

    }

    - (UIViewContentMode)contentMode

    {

        return _contentMode;

    }

    - (void)viewDidLoad {

        [super viewDidLoad];

        

        self.view.backgroundColor = [UIColor whiteColor];

        

        self.imageView          = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

        self.imageView.alpha    = .0f;

        self.imageView.center   = self.view.center;

        self.contentMode        = UIViewContentModeScaleAspectFill;

        [self.view addSubview:self.imageView];

        

        // 异步下载图片

        [GCDQueue executeInGlobalQueue:^{

            NSString * imageURL       = @"http://www.huabian.com/uploadfile/2014/1229/20141229033638152.jpg";

            NSURLRequest * urlRequest = [NSURLRequest requestWithURL:[NSURLURLWithString:imageURL]];

            // 下载图片

            NSData * imageData        = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil];

            UIImage * image           = [UIImage imageWithData:imageData];

            

            // 模糊图片  并设置模糊程度

            UIImage * blurImage       = [image blurImageWithRadius:10.0f];

            

            // 主线程 更新UI

            [GCDQueue executeInMainQueue:^{

                self.imageView.image     = blurImage;

                [UIView animateWithDuration:1.0f animations:^{

                    self.imageView.alpha = 1.0f;

                } completion:nil];

            }];

        }];

    }

    @end

     
  • 相关阅读:
    第七节:详细讲解Java中的日期,java.util.date
    第六节:详细讲解Java中的装箱与拆箱及其字符串
    第五节:详细讲解Java中的接口与继承
    第四节:详细讲解Java中的类和面向对象思想
    第三节:带你详解Java的操作符,控制流程以及数组
    第二节:Java入门第一行代码
    第一节:学会Java前提-手把手教你配置JDK环境变量
    Android精通之Handler讲解
    Android精通之AsyncTask与ListView讲解
    Android精通之AsyncTask与ListView讲解
  • 原文地址:https://www.cnblogs.com/hanzhuzi/p/4594038.html
Copyright © 2011-2022 走看看