SDWebImage 获得网络图片后再置灰

获得图片之后进行回调

[_TrainPic sd_setImageWithURL:[NSURL URLWithString:model.cover] placeholderImage:IMG(@"Train_level_no_1") completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
                    _TrainPic.image = [self getGrayImage:_TrainPic.image];
                }];

置灰方法

- (UIImage*)getGrayImage:(UIImage*)sourceImage
{
    int width = sourceImage.size.width;
    int height = sourceImage.size.height;
    
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
    CGContextRef context = CGBitmapContextCreate (nil,width,height,8,0,colorSpace,kCGImageAlphaNone);
    CGColorSpaceRelease(colorSpace);
    
    if (context == NULL) {
        return nil;
    }
    
    CGContextDrawImage(context,CGRectMake(0, 0, width, height), sourceImage.CGImage);
    CGImageRef grayImageRef = CGBitmapContextCreateImage(context);
    UIImage *grayImage = [UIImage imageWithCGImage:grayImageRef];
    CGContextRelease(context);
    CGImageRelease(grayImageRef);
    
    return grayImage;
}

小白总结,欢迎打脸指正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,079评论 25 709
  • 微风落幕的瞬间 你慢慢仰起脸 发丝飘动得有点好看 黄叶填满了双眼 坠落得如此悠闲 独自转身离开 梦境被拉醒的画面 ...
    李译阅读 1,495评论 0 3
  • 作者 姜苏 “其实现在,我妈在天津待着就挺好。那儿又是我妈工作了一辈子的地方,再说了,听说这次的保姆也挺好的,在...
    姜苏阅读 2,087评论 0 0
  • 时间管理100天,就这样匆匆过去了。从12月的焦虑到现在的从容,是我的改变!时间管理100天的活动结束了,生活依然...
    糖月阳阅读 1,300评论 1 1
  • 假日的早晨我习惯在早餐后先挨着侧躺在沙发上的奶奶坐一会儿,陪她看会电视,聊聊昨晚做的梦。今天她没躺着,但依旧...
    静静果子阅读 1,443评论 0 0