UIImage+CL.m 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // UIImage+CL.m
  3. // CLWeeklyCalendarView
  4. //
  5. // Created by Caesar on 11/12/2014.
  6. // Copyright (c) 2014 Caesar. All rights reserved.
  7. //
  8. #import "UIImage+CL.h"
  9. #import "UIColor+CL.h"
  10. #define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
  11. @implementation UIImage (CL)
  12. + (UIImage *)calendarBackgroundImage : (float)height {
  13. UIColor *topColor = [UIColor colorWithHex:0x1b92da];
  14. UIColor *bottomColor = [UIColor colorWithHex:0x34b5ec];
  15. return [self gradientImageWithBounds:CGRectMake(0, 0, SCREEN_WIDTH, height) colors:@[(id)[topColor CGColor], (id)[bottomColor CGColor]]];
  16. }
  17. + (UIImage *)gradientImageWithBounds:(CGRect)bounds colors:(NSArray *)colors {
  18. CALayer * bgGradientLayer = [self gradientBGLayerForBounds:bounds colors:colors];
  19. UIGraphicsBeginImageContext(bgGradientLayer.bounds.size);
  20. [bgGradientLayer renderInContext:UIGraphicsGetCurrentContext()];
  21. UIImage * bgAsImage = UIGraphicsGetImageFromCurrentImageContext();
  22. UIGraphicsEndImageContext();
  23. return bgAsImage;
  24. }
  25. + (CALayer *)gradientBGLayerForBounds:(CGRect)bounds colors:(NSArray *)colors
  26. {
  27. CAGradientLayer * gradientBG = [CAGradientLayer layer];
  28. gradientBG.frame = bounds;
  29. gradientBG.colors = colors;
  30. return gradientBG;
  31. }
  32. @end
  33. // 版权属于原作者
  34. // http://code4app.com (cn) http://code4app.net (en)
  35. // 发布代码于最专业的源码分享网站: Code4App.com