/**
* 保持原来的长宽比,生成一个缩略图
*
* @param image 要调整的图片
* @param asize 目标尺寸
*
* @return UIImage
*/
- (UIImage *)thumbnailWithImageWithoutScale:(UIImage *)image size:(CGSize)asize
{
CGFloat w = image.self.size.width;
CGFloat h = image.self.size.height;
//默认图片宽度大于图片高度
CGFloat percentage = asize.width / w;
if (h < w) {
percentage = asize.height / h;
}
w = w * percentage;
h = h * percentage;
UIImage *newimage;
UIGraphicsBeginImageContext(asize);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);
UIRectFill(CGRectMake(0, 0, asize.width, asize.height));//clear background
[image drawInRect:CGRectMake(0, 0, w, h)];
newimage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newimage;
}
本文介绍了一种在保持图片原始长宽比的同时生成缩略图的方法。通过计算目标尺寸与原图的比例,调整图片大小并绘制到指定区域内,最终创建出符合要求的缩略图。
7704

被折叠的 条评论
为什么被折叠?



