Image View

创建

1
2
3
4
5
6
7
/**
根据image名创建一个imgage view

@param name image名
@return image view
*/
CG_EXTERN UIImageView *UIImageViewWithImageNamed(NSString *name);

从指定CGPoint获取UIColor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#pragma mark 推荐用于圆形取色板
/**
从圆形范围内的指定点获取UIColor对象,并在block中执行操作

@param point 指定坐标点
@param completion 取色完成后执行的block
*/
CG_EXTERN void UIImageViewGetColorFromCircle(UIImageView *imageView, CGPoint point, void(^completion)(UIColor *color));

/**
从圆形范围内的指定点获取RGBA值,并在block中执行操作

@param point 指定坐标点
@param completion 取色完成后执行的block
*/
CG_EXTERN void UIImageViewGetRGBAFromCircle(UIImageView *imageView, CGPoint point, void(^completion)(CGFloat red,CGFloat green,CGFloat blue,CGFloat alpha));

#pragma mark 推荐用于方形取色板

/**
从指定点获取UIColor对象,并在block中执行操作

@param point 指定坐标点
@param completion 取色完成后执行的block
*/
CG_EXTERN void UIImageViewGetColor(UIImageView *imageView, CGPoint point, void(^completion)(UIColor *color));

/**
从指定点获取RGBA值,并在block中执行操作

@param point 指定坐标点
@param completion 取色完成后执行的block
*/
CG_EXTERN void UIImageViewGetRGBA(UIImageView *imageView, CGPoint point, void(^completion)(CGFloat red,CGFloat green,CGFloat blue,CGFloat alpha));

#pragma mark 返回值可空,操作繁琐,不推荐用

/**
从指定点获取UIColor对象(最原始最暴力的方法,不推荐用)

@param point 指定坐标点

@return UIColor对象(可空)
*/
CG_EXTERN UIColor *UIImageViewGetColorWithPoint(UIImageView *imageView, CGPoint point);

/**
从指定点获取RGBA值(最原始最暴力的方法,不推荐用)

@param red red
@param green green
@param blue blue
@param alpha alpha
@param point 指定坐标点
*/
CG_EXTERN void UIImageViewGetRGBAWithPoint(UIImageView *imageView, CGPoint point, CGFloat *red, CGFloat *green, CGFloat *blue, CGFloat *alpha);

读取图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
从assets里读取图片

@param name 图片名
@return 图片
*/
CG_EXTERN UIImage * _Nullable UIImageNamed(NSString *name);

/**
从bundle中读取图片(自动加.png/.jpg/.jpeg扩展名)

@param name 图片名
@return 图片
*/
CG_EXTERN UIImage * _Nullable UIImageWithBundleImageName(NSString *name);


/**
从bundle中读取若干图片

@param name 图片名(image,不含序号)
@param count 图片数量
@return 图片<image0,image1,image2, ...>
*/
CG_EXTERN NSArray<UIImage *> * _Nullable UIImagesWithBundleImageNames(NSString *name, NSUInteger count);

剪裁

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
把图片剪裁为正方形

@return 图片
*/
CG_EXTERN UIImage *UIImageGetSquareImage(UIImage *image);

/**
把图片剪裁为圆形

@return 图片
*/
CG_EXTERN UIImage *UIImageGetRoundedImage(UIImage *image);

模糊

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
毛玻璃效果

@param ratio 毛玻璃效果指数

@return 毛玻璃效果处理后的图片
*/
CG_EXTERN UIImage *UIImageGetBlurredImage(UIImage *image, CGFloat ratio);

/**
异步绘制毛玻璃效果

@param ratio 毛玻璃效果指数
@param completion 处理完成的回调
*/
CG_EXTERN void UIImageBlurImageAsync(UIImage *image, CGFloat ratio, void (^completion)(UIImage *image));

缩放

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
等比缩放

@param image 图片
@param ratio 比例
@return 缩放后的图片
*/
CG_EXTERN UIImage *UIImageNonInterpolatedScaleWithRatio(UIImage *image, CGFloat ratio);


/**
缩放到某个长度

@param image 图片
@param length 边长
@return 缩放后的图片
*/
CG_EXTERN UIImage *UIImageNonInterpolatedScaleWithLength(UIImage *image, CGFloat length);


/**
缩放到某个长宽比

@param image 图片
@param size 长宽
@return 缩放后的图片
*/
CG_EXTERN UIImage *UIImageNonInterpolatedScaleWithCGSize(UIImage *image, CGSize size);



评论