iphone 压缩图片到指定的大小
2012-08-14 22:20
447 查看
1.本文摘自:http://www.cocoachina.com/bbs/read.php?tid-20940.html
#import <Foundation/Foundation.h> @interface UIImage (UIImageExt) - (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize; @end |
复制代码 #import "UIImageExt.h" @implementation UIImage (UIImageExt) - (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize { UIImage *sourceImage = self; UIImage *newImage = nil; CGSize imageSize = sourceImage.size; CGFloat width = imageSize.width; CGFloat height = imageSize.height; CGFloat targetWidth = targetSize.width; CGFloat targetHeight = targetSize.height; CGFloat scaleFactor = 0.0; CGFloat scaledWidth = targetWidth; CGFloat scaledHeight = targetHeight; CGPoint thumbnailPoint = CGPointMake(0.0,0.0); if (CGSizeEqualToSize(imageSize, targetSize) == NO) { CGFloat widthFactor = targetWidth / width; CGFloat heightFactor = targetHeight / height; if (widthFactor > heightFactor) scaleFactor = widthFactor; // scale to fit height else scaleFactor = heightFactor; // scale to fit width scaledWidth = width * scaleFactor; scaledHeight = height * scaleFactor; // center the image if (widthFactor > heightFactor) { thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5; } else if (widthFactor < heightFactor) { thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5; } } UIGraphicsBeginImageContext(targetSize); // this will crop CGRect thumbnailRect = CGRectZero; thumbnailRect.origin = thumbnailPoint; thumbnailRect.size.width = scaledWidth; thumbnailRect.size.height = scaledHeight; [sourceImage drawInRect:thumbnailRect]; newImage = UIGraphicsGetImageFromCurrentImageContext(); if(newImage == nil) NSLog(@"could not scale image"); //pop the context to get back to the default UIGraphicsEndImageContext(); return newImage; } @end |
相关文章推荐
- iphone 压缩图片到指定的大小
- android 将图片压缩到指定的大小
- iOS开发技巧之:图片压缩成指定的大小
- iPhone 将图片缩小成指定大小
- iOS 图片按比例压缩,指定大小压缩
- 图片压缩的两种形式(压缩到指定尺寸和压缩到指定大小)
- [Android算法] bitmap 将图片压缩到指定的大小
- 等比例压缩图片到指定的KB大小
- 图片超过指定大小后等比例压缩图片
- swift如何压缩图片到指定大小以内,尺寸和体积双压缩
- android 将图片压缩到指定的大小的示例
- iPhone 将图片缩小成指定大小
- android 将图片压缩到指定的大小的示例
- 提供下载:批量图片压缩(生成缩略图或指定大小图片)及文件批量改名器
- java按比例压缩图片的源代码,用java如何把图片处理到指定大小
- 图片压缩为指定大小
- 三种Android图片压缩方法 压缩到指定大小
- 图片压缩到指定尺寸和大小
- 图片压缩成指定大小
- Android 自定义camera压缩图片到指定大小