首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

图片削减

2012-06-26 
图片裁减UIImage+Crop.h#import UIKit/UIKit.h@interface UIImage (Crop)- (UIImage *)imageByScalingAn

图片裁减

UIImage+Crop.h

#import <UIKit/UIKit.h>@interface UIImage (Crop)- (UIImage *)imageByScalingAndCroppingForSize:(CGSize)targetSize;@end

#import "UIImage+Crop.h"@implementation UIImage (Crop)- (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 = heightFactor; else scaleFactor = widthFactor; scaledWidth = width * scaleFactor; scaledHeight = height * scaleFactor; if (widthFactor > heightFactor) { thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5; } else if (widthFactor < heightFactor) { thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5; } } CGSize target_size = CGSizeMake(scaledWidth, scaledHeight); UIGraphicsBeginImageContext(target_size); CGRect thumbnailRect = CGRectZero; thumbnailRect.origin = thumbnailPoint; thumbnailRect.size.width = scaledWidth; thumbnailRect.size.height = scaledHeight; [sourceImage drawInRect:thumbnailRect]; newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage;}@end

热点排行