ldc529

//如果图片大于maxSize,将图片高宽等比例缩放至maxSize

- (UIImage *)imageWithConstrainSize:(CGSize)maxSize

{

    if(self.size.width <= maxSize.width && self.size.height <= maxSize.height) return self;

    

    CGFloat scale = MAX(maxSize.width/self.size.width, maxSize.height/self.size.height);

    CGSize scaleSize = CGSizeMake(scale * self.size.width,  scale * self.size.height);

    

    UIGraphicsBeginImageContext(scaleSize);

    // 绘制改变大小的图片

    [self drawInRect:CGRectMake(0, 0, scaleSize.width, scaleSize.height)];

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

    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();

    // 使当前的context出堆栈

    UIGraphicsEndImageContext();

    // 返回新的改变大小后的图片

    return scaledImage;

}

 

分类:

技术点:

相关文章:

  • 2021-10-13
  • 2021-05-17
  • 2022-01-23
  • 2021-07-08
  • 2021-08-28
  • 2021-06-03
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-17
  • 2021-07-22
  • 2021-12-18
  • 2021-12-23
  • 2021-10-12
  • 2021-06-17
相关资源
相似解决方案