iOS自动生成对应大小的icon图片代码
2016-04-12 16:34
435 查看
-(void)beginGenerateIconsWithImage:(UIImage *)img
{
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES)
objectAtIndex:0];
path = [path stringByAppendingPathComponent:@"CompressedIcons"];
NSArray *array =
@[@29,@58,@87,@40,@80,@120,@180,@76,@152,@1024];
for (int i =
0; i < array.count; i ++) {
int sizeS = [[array
objectAtIndex:i] intValue];
UIImage *imgFinal = [self
compressImage:img withSize:CGSizeMake(sizeS, sizeS)];
[self savePicture:imgFinal
withPath:path andFileName:[NSString
stringWithFormat:@"%i_%i.png",sizeS,sizeS]];
}
}
#pragma mark 保存图片到路径
-(BOOL)savePicture:(UIImage *)picture withPath:(NSString *)path andFileName:(NSString
*)fileName
{
NSFileManager *fileManager = [NSFileManager
defaultManager];
if (![fileManager
fileExistsAtPath:path]) {
NSError *error;
BOOL ifSuccess = [fileManager
createDirectoryAtPath:path withIntermediateDirectories:YES
attributes:nil
error:&error];
if (!ifSuccess) {
NSLog(@"Compresse Fialed");
}
}
NSData *data =
UIImagePNGRepresentation(picture);
return [data
writeToFile:[path stringByAppendingPathComponent:fileName]
atomically:YES];
}
#pragma mark 压缩图片到对应尺寸
-(UIImage *)compressImage:(UIImage *)sourceImg withSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
CGRect rect = {{0,0},size};
[sourceImg drawInRect:rect];
UIImage *compressedImg =
UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return compressedImg;
}
{
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES)
objectAtIndex:0];
path = [path stringByAppendingPathComponent:@"CompressedIcons"];
NSArray *array =
@[@29,@58,@87,@40,@80,@120,@180,@76,@152,@1024];
for (int i =
0; i < array.count; i ++) {
int sizeS = [[array
objectAtIndex:i] intValue];
UIImage *imgFinal = [self
compressImage:img withSize:CGSizeMake(sizeS, sizeS)];
[self savePicture:imgFinal
withPath:path andFileName:[NSString
stringWithFormat:@"%i_%i.png",sizeS,sizeS]];
}
}
#pragma mark 保存图片到路径
-(BOOL)savePicture:(UIImage *)picture withPath:(NSString *)path andFileName:(NSString
*)fileName
{
NSFileManager *fileManager = [NSFileManager
defaultManager];
if (![fileManager
fileExistsAtPath:path]) {
NSError *error;
BOOL ifSuccess = [fileManager
createDirectoryAtPath:path withIntermediateDirectories:YES
attributes:nil
error:&error];
if (!ifSuccess) {
NSLog(@"Compresse Fialed");
}
}
NSData *data =
UIImagePNGRepresentation(picture);
return [data
writeToFile:[path stringByAppendingPathComponent:fileName]
atomically:YES];
}
#pragma mark 压缩图片到对应尺寸
-(UIImage *)compressImage:(UIImage *)sourceImg withSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
CGRect rect = {{0,0},size};
[sourceImg drawInRect:rect];
UIImage *compressedImg =
UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return compressedImg;
}
相关文章推荐
- iOS设计模式-适配器
- iOS设计模式-适配器
- CAGradientLayer颜色渐变
- iOS设计模式-适配器
- iOS 图片剪切和压缩的几个方法
- ios键盘在popViewControllerAnimated 时又弹起
- iOS tableView刷新选中cell数据
- 2016年最新苹果开发者账号注册申请流程最强详解!
- iOS学习笔记20-地图(二)MapKit框架
- iOS学习笔记20-地图(二)MapKit框架
- iOS URLEcode,URLDecode
- ios 图片裁剪
- iOS NSDate本地化
- Mac上抓包工具Charles
- iOS开发 国际化Localizable
- ios 开发学习文档
- iOS开发之使用OmniGraffle导出xcode的类图
- iOS CocoaPods安装和使用图解
- iOS优雅的获取数组的最大值
- iOS更改状态栏颜色为白色