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
57
58
59
60
61
62
63
64
65
66 |
<span style= "font-size: 15px;" >@implementation ImageSizeManager #define iphoneSize [[UIScreen mainScreen] bounds] #define newSizeWidth [[UIScreen mainScreen] bounds].size.width * 2.0 #define newSizeHeight [[UIScreen mainScreen] bounds].size.height * 2.0 //转换成大图片 +(UIImage*)getMaxImageWithOldImage:(UIImage*)oldImage{ CGSize newSize = [self changeImage:oldImage.size andScale:2]; UIImage *newImage = [self imageWithImageSimple:oldImage scaledToSize:newSize]; return
newImage; } //转换中图片 +(UIImage*)getMidImageWithOldImage:(UIImage*)oldImage{ CGSize newSize = [self changeImage:oldImage.size andScale:4]; UIImage *newImage = [self imageWithImageSimple:oldImage scaledToSize:newSize]; return
newImage; } //转换成小图片 +(UIImage*)getSmallImageWithOldImage:(UIImage*)oldImage{ CGSize newSize = [self changeImage:oldImage.size andScale:8]; UIImage *newImage = [self imageWithImageSimple:oldImage scaledToSize:newSize]; return
newImage; } +(CGSize)changeImage:(CGSize)size andScale:( float )scale { float
newWidth = newSizeWidth/scale; float
newHeight = newSizeHeight/scale; CGSize newSize; if
(size.width <=newWidth && size.height <=newHeight) { return
size; } if
(size.width>newWidth || size.height >newHeight) { if
(size.width > size.height) { //如果宽大,就把宽度缩小到,高按同比例缩放 newSize.width = newWidth; newSize.height = ( int ) ((newWidth/size.width) * size.height); } else
if (size.width < size.height) { newSize.height = newHeight; newSize.width =( int ) ((newHeight/size.height) * size.width); } else //宽高相同 { newSize.width = newWidth; newSize.height = newWidth; } } return
newSize; } + (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize { UIGraphicsBeginImageContext(newSize); [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData *data = UIImageJPEGRepresentation(newImage, 1.0); DLog( @"长度:%d " ,data.length); DLog( @"长:%f 宽:%f" ,newImage.size.height,newImage.size.width); return
newImage; } </span> |
原文:http://www.cnblogs.com/zhangsongbai/p/3580301.html