iOS:给图片置灰色

本文介绍了一种在iOS开发中实现图片灰度显示的方法。通过使用Objective-C代码,该方法可以将彩色图片转换为灰度图片,适用于商品展示时的商品过期或下线情况。

一、在iOS开发中,给图片置灰色这个功能经常会用到,例如商品展示时,商品过期或者下线了,那么图片就需要这个功能。下面这个方法就可以到达目的。

/**
 UIImage:去色功能的实现(图片灰色显示)
 @param sourceImage 图片
 */
- (UIImage *)grayImage:(UIImage *)sourceImage
{
   int bitmapInfo = kCGImageAlphaNone;
   int width = sourceImage.size.width;
   int height = sourceImage.size.height;
   CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
   CGContextRef context = CGBitmapContextCreate (nil,width,height,8,0,colorSpace,bitmapInfo);
   CGColorSpaceRelease(colorSpace);
   if (context == NULL) {
       return nil;
   }
   CGContextDrawImage(context,CGRectMake(0, 0, width, height), sourceImage.CGImage);
   UIImage *grayImage = [UIImage imageWithCGImage:CGBitmapContextCreateImage(context)];
   CGContextRelease(context);
   return grayImage;
}

实现效果:

之前:

之后:

 

转载于:https://www.cnblogs.com/XYQ-208910/p/6432901.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值