您的位置:首页 > 产品设计 > UI/UE

截取UIImage大小(可以用于制作缩略图)

2014-01-02 16:18 281 查看
+(UIImage *)scaleImage:(UIImage *)image toScale:(CGSize)reSize
{

    
   
float drawW = 0.0;
   
float drawH = 0.0;

    
   
CGSize size_new = image.size;

    
   
NSLog(@"%f",size_new.width);
   
NSLog(@"%f",reSize.width);
   
NSLog(@"%f",size_new.height);
   
NSLog(@"%f",reSize.height);

    NSLog(@"------------------------------------");
   
if (size_new.width >= reSize.width) {
        drawW = (size_new.width - reSize.width)/2.0;
    }
   
if (size_new.height >= reSize.height) {
        drawH = (size_new.height - reSize.height)/2.0;
    }

    

    //截取截取大小为需要显示的大小。取图片中间位置截取
   
CGRect myImageRect =
CGRectMake(drawW, drawH, reSize.width, reSize.height);
   
UIImage* bigImage= image;
    image =
nil;
   
CGImageRef imageRef = bigImage.CGImage;
   
CGImageRef subImageRef =
CGImageCreateWithImageInRect(imageRef, myImageRect);

    

    UIGraphicsBeginImageContext(reSize);

    CGContextRef context =
UIGraphicsGetCurrentContext();

    
   
CGContextDrawImage(context, myImageRect, subImageRef);
   
UIImage* smallImage = [UIImage
imageWithCGImage:subImageRef];

    UIGraphicsEndImageContext();

    
   
return smallImage; 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息