美文网首页
SDWebImage (5.1.0)UIImage+Transf

SDWebImage (5.1.0)UIImage+Transf

作者: charlotte2018 | 来源:发表于2019-08-28 17:20 被阅读0次

    UIImage+Transform.h这个分类提供了对image的形变处理

    - (void)testUIImageTransform{
        
        //https://sdwebimage.github.io/Categories/UIImage(Transform).html
        
        UIImageView *imageView = [[UIImageView alloc]init];
        imageView.backgroundColor = [UIColor greenColor];
        imageView.frame = CGRectMake(0, 0, 200, 200);
        imageView.center = self.view.center;
        [self.view addSubview:imageView];
        /*图像几何
        -sd_resizedImageWithSize:scaleMode:
        -sd_croppedImageWithRect:
        -sd_roundedCornerImageWithRadius:corners:borderWidth:borderColor:
        -sd_rotatedImageWithAngle:fitSize:
        -sd_flippedImageWithHorizontal:vertical:
        
        UIImage *image = [UIImage imageNamed:@"dog.jpg"];
        
        //返回从此图像调整大小的新图像。您可以指定比图像大小更大或更小的尺寸。将使用缩放模式更改图像内容。
        //image = [image sd_resizedImageWithSize:CGSizeMake(100, 300) scaleMode:SDImageScaleModeAspectFill];
        
        //返回从此图像裁剪的新图像。
        image = [image sd_croppedImageWithRect:CGRectMake(0, 0, 300, 300)];
        
        //使用给定的角半径和角来舍入新图像。
        image = [image sd_roundedCornerImageWithRadius:200 corners:UIRectCornerAllCorners borderWidth:5 borderColor:[UIColor yellowColor]];
        
        //返回一个新的旋转图像(相对于中心)。逆时针旋转弧度.⟲
        //是:新图像的大小扩展到适合所有内容。否:图像的大小不会改变,内容可能会被剪裁。
        image = [image sd_rotatedImageWithAngle:0.5 fitSize:YES];
        
        //返回新的水平(垂直)翻转图像。
        image = [image sd_flippedImageWithHorizontal:NO vertical:YES];
        
        imageView.image = image;
         
        */
        
        /*
         图像混合
        -sd_tintedImageWithColor:
        -sd_colorAtPoint:
        -sd_colorsWithRect:
         */
        //UIImage *image = [UIImage imageNamed:@"dog.jpg"];
        
        //返回具有给定颜色的着色图像。这实际上使用当前图像和色调颜色的alpha混合。
        //image = [image sd_tintedImageWithColor:[UIColor colorWithWhite:0 alpha:0.8]];
        //imageView.image = image;
        
        
        //返回指定位置的像素颜色
    //    UIColor *color = [image sd_colorAtPoint:CGPointMake(300, 300)];
        
        //返回指定矩形的像素颜色数组
        //NSArray *colors = [image sd_colorsWithRect:CGRectMake(100, 200, 300, 200)];
        //imageView.backgroundColor = colors.firstObject;
        
        
    
        
        /*
         图像效果
         -sd_blurredImageWithRadius:
         -sd_filteredImageWithFilter:
         */
        UIImage *image = [UIImage imageNamed:@"dog.jpg"];
        
        //返回应用模糊效果的新图像。
        //模糊半径为0表示没有模糊效果。
    //    image = [image sd_blurredImageWithRadius:40];
        
        //返回应用CIFilter的新图像。使用CIFilter实现滤镜效果
        //https://blog.csdn.net/u011369424/article/details/52862560
        //1、先想办法弄到一个图像(CIImage*)
        CIImage* oldImg = [[CIImage alloc] initWithImage:image];
        //2、创建一个CIFilter*对象
        CIFilter* filter = [CIFilter filterWithName:@"CICircularWrap"];
        //如果用下面这个方法初始化,3、4、5部都可以省略
        //CIFilter* filter = [CIFilter filterWithName:@"CICircularWrap" keysAndValues:@"inputImage",oldImg, nil];
        //3、设置默认参数
        [filter setDefaults];
        //4、设置要处理的图像
        [filter setValue:oldImg forKey:@"inputImage"];
        
        image = [image sd_filteredImageWithFilter:filter];
        
        imageView.image = image;
        
    }
    
    
    

    demo 地址

    https://github.com/yinbowang/SDWebImageStudyDemo.git

    相关文章

      网友评论

          本文标题:SDWebImage (5.1.0)UIImage+Transf

          本文链接:https://www.haomeiwen.com/subject/dyymectx.html