依然是UIImage的扩展类
UIImage
@implementation UIImage (imageScaleSize)
- (UIImage *) scaleImage:(UIImage *)image toScale:(float)scaleSize{
UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize));
[image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
@end
view添加圆角
这里是UIView的扩展类,适用于所有的View,可以设置添加的位置
UIView
@implementation UIView (LSCore)
/**
设置部分圆角 绝对布局
@param corners 需要设置为圆角的角 UIRectCornerTopLeft|UIRectCornerTopRight
@param radii 需要设置的圆角大小 CGSizeMake(5.0, 5.0)
*/
- (void)addRoundedCorners:(UIRectCorner)corners withRadii:(CGSize)radii{
UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corners cornerRadii:radii];
CAShapeLayer *shape = [[CAShapeLayer alloc] init];
[shape setPath:rounded.CGPath];
self.layer.mask = shape;
}
/**
设置部分圆角 相对布局
@param corners 需要设置为圆角的角 UIRectCornerTopLeft|UIRectCornerTopRight
@param radii 需要设置的圆角大小 CGSizeMake(5.0, 5.0)
@param rect 需要设置的圆角view的rect
*/
- (void)addRoundedCorners:(UIRectCorner)corners withRadii:(CGSize)radii viewRect:(CGRect)rect{
UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corners cornerRadii:radii];
CAShapeLayer *shape = [[CAShapeLayer alloc] init];
[shape setPath:rounded.CGPath];
self.layer.mask = shape;
}
@end
使用方法以UIImageView为例
UIImage
[image addRoundedCorners:UIRectCornerTopLeft|UIRectCornerTopRight withRadii:CGSizeMake(20.0, 20.0)];
将颜色转为图片
UIImage
-(UIImage *)ImageForColor:(UIColor *)color{
CGRect rect = CGRectMake(0.0f, 0.0f, 10, 10);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
图片添加系统滤镜
UIImage
-(UIImage *)blurryImage:(UIImage *)image
withBlurLevel:(CGFloat)blur {
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [CIImage imageWithCGImage:image.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"
keysAndValues:kCIInputImageKey, inputImage,
@"inputRadius", @(blur),
nil];
CIImage *outputImage = filter.outputImage;
CGImageRef outImage = [context createCGImage:outputImage
fromRect:[outputImage extent]];
return [UIImage imageWithCGImage:outImage];
}










