iOS:給圖片置灰色


一、在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;
}

實現效果:

之前:

之后:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM