美文网首页
等比缩放图片裁剪指定区域图片

等比缩放图片裁剪指定区域图片

作者: 烦人的Bug | 来源:发表于2016-03-25 13:04 被阅读274次

    /** *  等比缩放图片裁剪指定区域图片 * *  

    @param image 原图 * 

     @param size  裁剪范围 * *

      @return 裁剪后的图片 

    */

     -(UIImage *)compressImageWith:(UIImage *)image scaleToSize:(CGSize)size { 

       // 原图宽    

     CGFloat imageWidth = image.size.width;   

     // 原图高   

     CGFloat imageHeight = image.size.height;      

      // 缩放比例  

      CGFloat widthScale = imageWidth /size.width;  

      CGFloat heightScale = imageHeight /size.height;     

       // 创建一个bitmap的context   

     // 并把它设置成为当前正在使用的context    UIGraphicsBeginImageContext(CGSizeMake(size.width, size.height));       

     // 横屏图片   

     if (widthScale > heightScale) {    

        [image drawInRect:CGRectMake(0, 0, imageWidth /heightScale , size.height)];  

      }    else {

     // 竖屏图片  

          [image drawInRect:CGRectMake(0, 0, size.width , imageHeight /widthScale)];  

      }      

      // 从当前context中创建一个改变大小后的图片

        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();   

     // 使当前的context出堆栈   

     UIGraphicsEndImageContext();     

       return newImage;

    相关文章

      网友评论

          本文标题:等比缩放图片裁剪指定区域图片

          本文链接:https://www.haomeiwen.com/subject/gatdlttx.html