按宽度按比例调整UIImage的大小

时间:2014-10-12 19:57:14

标签: ios xcode uiimage

我需要按宽度按比例调整UIImage,可能有人有工作代码吗?

例如:

  

输入:宽度:900高度:675。调整宽度:400宽度

     

结果:宽度:400高度:300

请帮助..

2 个答案:

答案 0 :(得分:6)

检查this blog post。特别是这两个文件:

也许这对你有用:

UIImage *image = [UIImage imageNamed:@"SomeImage-900x675"]; // SomeImage-900x675.png
CGFloat targetWidth = 400.0f;

CGFloat scaleFactor = targetWidth / image.size.width;
CGFloat targetHeight = image.size.height * scaleFactor;
CGSize targetSize = CGSizeMake(targetWidth, targetHeight);

UIImage *scaledImage = [image resizedImage:targetSize interpolationQuality:kCGInterpolationHigh];

答案 1 :(得分:1)

你不能设置内容模式吗?到.ScaleAspectFill?然后,您可以将UIImageView大小设置为任意大小,并保留纵横比。

https://developer.apple.com/reference/uikit/uiviewcontentmode/1622518-scaleaspectfill