From e2da08e46082ed2efa21f175632a977561960bb9 Mon Sep 17 00:00:00 2001 From: yanue Date: Thu, 3 Mar 2016 16:21:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8C=B9=E9=85=8D=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Objective-C/EsttTransformPicUrl.m | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/Objective-C/EsttTransformPicUrl.m b/Objective-C/EsttTransformPicUrl.m index 406ba4b..031e5df 100644 --- a/Objective-C/EsttTransformPicUrl.m +++ b/Objective-C/EsttTransformPicUrl.m @@ -30,7 +30,8 @@ + (NSURL *)transformToOriginSize:(NSURL *)picUrl { NSString *fileName = [[picUrl pathComponents] lastObject]; NSMutableString *newFileName = [NSMutableString stringWithString:[fileName copy]]; - if ([fileName containsString:@"_"]) { + NSRange range = [fileName rangeOfString:@"_((\d+\-)|(\-\d+))\.(jpg|jpeg|gif|png)$" options:NSRegularExpressionSearch]; + if (range.location != NSNotFound) { newFileName = [NSMutableString stringWithString:[fileName componentsSeparatedByString:@"_"][0]]; } @@ -46,7 +47,7 @@ + (NSURL *)transformToOriginSize:(NSURL *)picUrl { } // 获取固定大小图片地址 -+ (NSURL *)transformUrl:(NSURL *)picUrl ToSize:(CGSize)confirmSize { ++ (NSURL *)transformUrl:(NSURL *)picUrl ToSize:(CGSize)confirmSize andTimes:(CGFloat) time{ NSString *host = [picUrl host]; @@ -63,13 +64,14 @@ + (NSURL *)transformUrl:(NSURL *)picUrl ToSize:(CGSize)confirmSize { NSMutableString *newFileName = [NSMutableString stringWithString:[fileName copy]]; NSMutableString *picUrlStr = [NSMutableString stringWithString:[picUrl absoluteString]]; NSURL *newPicUrl; - if ([fileName containsString:@"_"]) { + NSRange range = [fileName rangeOfString:@"_((\d+\-)|(\-\d+))\.(jpg|jpeg|gif|png)$" options:NSRegularExpressionSearch]; + if (range.location != NSNotFound) { newFileName = [NSMutableString stringWithString:[fileName componentsSeparatedByString:@"_"][0]]; [picUrlStr replaceCharactersInRange:[picUrlStr rangeOfString:fileName] withString:newFileName]; newPicUrl = [NSURL URLWithString:picUrlStr]; } - NSString *sizeStr = [NSString stringWithFormat:@"_%.fx%.f.png", confirmSize.width*1.5, confirmSize.height*1.5]; + NSString *sizeStr = [NSString stringWithFormat:@"_%.fx%.f.png", confirmSize.width*time, confirmSize.height*time]; [newFileName appendString:sizeStr]; fileName = [[picUrl pathComponents] lastObject]; [picUrlStr replaceCharactersInRange:[picUrlStr rangeOfString:fileName] withString:newFileName]; @@ -82,7 +84,7 @@ + (NSURL *)transformUrl:(NSURL *)picUrl ToSize:(CGSize)confirmSize { } // 获取固定宽自动高图片地址 -+ (NSURL *)transformUrl:(NSURL *)picUrl ToWidth:(CGFloat)width { ++ (NSURL *)transformUrl:(NSURL *)picUrl ToWidth:(CGFloat)width andTimes:(CGFloat) time{ NSString *host = [picUrl host]; @@ -99,13 +101,14 @@ + (NSURL *)transformUrl:(NSURL *)picUrl ToWidth:(CGFloat)width { NSMutableString *newFileName = [NSMutableString stringWithString:[fileName copy]]; NSMutableString *picUrlStr = [NSMutableString stringWithString:[picUrl absoluteString]]; NSURL *newPicUrl; - if ([fileName containsString:@"_"]) { + NSRange range = [fileName rangeOfString:@"_((\d+\-)|(\-\d+))\.(jpg|jpeg|gif|png)$" options:NSRegularExpressionSearch]; + if (range.location != NSNotFound) { newFileName = [NSMutableString stringWithString:[fileName componentsSeparatedByString:@"_"][0]]; [picUrlStr replaceCharactersInRange:[picUrlStr rangeOfString:fileName] withString:newFileName]; newPicUrl = [NSURL URLWithString:picUrlStr]; } - NSString *sizeStr = [NSString stringWithFormat:@"_%.f-.jpg", width*1.5]; + NSString *sizeStr = [NSString stringWithFormat:@"_%.f-.jpg", width*time]; [newFileName appendString:sizeStr]; fileName = [[picUrl pathComponents] lastObject]; [picUrlStr replaceCharactersInRange:[picUrlStr rangeOfString:fileName] withString:newFileName]; @@ -118,7 +121,7 @@ + (NSURL *)transformUrl:(NSURL *)picUrl ToWidth:(CGFloat)width { } // 获取固定高自动宽图片地址 -+ (NSURL *)transformUrl:(NSURL *)picUrl ToHeight:(CGFloat)height { ++ (NSURL *)transformUrl:(NSURL *)picUrl ToHeight:(CGFloat)height andTimes:(CGFloat) time{ NSString *host = [picUrl host]; @@ -135,13 +138,14 @@ + (NSURL *)transformUrl:(NSURL *)picUrl ToHeight:(CGFloat)height { NSMutableString *newFileName = [NSMutableString stringWithString:[fileName copy]]; NSMutableString *picUrlStr = [NSMutableString stringWithString:[picUrl absoluteString]]; NSURL *newPicUrl; - if ([fileName containsString:@"_"]) { + NSRange range = [fileName rangeOfString:@"_((\d+\-)|(\-\d+))\.(jpg|jpeg|gif|png)$" options:NSRegularExpressionSearch]; + if (range.location != NSNotFound) { newFileName = [NSMutableString stringWithString:[fileName componentsSeparatedByString:@"_"][0]]; [picUrlStr replaceCharactersInRange:[picUrlStr rangeOfString:fileName] withString:newFileName]; newPicUrl = [NSURL URLWithString:picUrlStr]; } - NSString *sizeStr = [NSString stringWithFormat:@"_-%.f.jpg", height*1.5]; + NSString *sizeStr = [NSString stringWithFormat:@"_-%.f.jpg", height*time]; [newFileName appendString:sizeStr]; fileName = [[picUrl pathComponents] lastObject]; [picUrlStr replaceCharactersInRange:[picUrlStr rangeOfString:fileName] withString:newFileName];