首页 > 代码库 > 图片处理
图片处理
+ (NSData *)resetSizeOfImageData:(UIImage *)source_image maxSize:(NSInteger)maxSize{ //先调整分辨率 CGSize newSize = CGSizeMake(source_image.size.width, source_image.size.height); CGFloat tempHeight = newSize.height / 1024; CGFloat tempWidth = newSize.width / 1024; if (tempWidth > 1.0 && tempWidth > tempHeight) { newSize = CGSizeMake(source_image.size.width / tempWidth, source_image.size.height / tempWidth); } else if (tempHeight > 1.0 && tempWidth < tempHeight){ newSize = CGSizeMake(source_image.size.width / tempHeight, source_image.size.height / tempHeight); } UIGraphicsBeginImageContext(newSize); [source_image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); //调整大小 NSData * imageData = http://www.mamicode.com/UIImageJPEGRepresentation(newImage,1.0); NSUInteger sizeOrigin = [imageData length]; NSUInteger sizeOriginKB = sizeOrigin / 1024; if (sizeOriginKB > maxSize) { NSUInteger testKB = sizeOriginKB; UIImage * testIamge = newImage; if (testKB > 4000) { imageData = UIImageJPEGRepresentation(newImage,0.10); testKB = [imageData length] / 1024; testIamge = [UIImage imageWithData:imageData]; } if (testKB > 3000) { imageData = UIImageJPEGRepresentation(testIamge,0.20); testKB = [imageData length] / 1024; testIamge = [UIImage imageWithData:imageData]; } if (testKB > 2000) { imageData = UIImageJPEGRepresentation(testIamge,0.30); testKB = [imageData length] / 1024; testIamge = [UIImage imageWithData:imageData]; } if (testKB > 1000) { imageData = UIImageJPEGRepresentation(testIamge,0.40); testKB = [imageData length] / 1024; testIamge = [UIImage imageWithData:imageData]; } if (testKB > 500) { imageData = UIImageJPEGRepresentation(testIamge,0.50); testKB = [imageData length] / 1024; testIamge = [UIImage imageWithData:imageData]; } if (testKB > 300) { imageData = UIImageJPEGRepresentation(testIamge,0.50); testKB = [imageData length] / 1024; testIamge = [UIImage imageWithData:imageData]; } if (testKB > maxSize) { imageData = UIImageJPEGRepresentation(testIamge,0.30); testKB = [imageData length] / 1024; testIamge = [UIImage imageWithData:imageData]; } return imageData; } return imageData;}
图片处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。