我在很多帖子里看到过通过保持纵横比来调整图像大小.这些函数在调整大小时使用矩形的固定点(宽度和高度).但是在我的项目中,我需要仅根据宽度调整视图大小,高度应该根据纵横比自动获取. 有没有人能帮我做到这一点.

推荐答案

Srikar的方法非常有效,如果你知道你的新尺码的高度和宽度都是and. 例如,如果您只知道要zoom 到的宽度,而不关心高度,则首先必须计算高度的比例因子.

+(UIImage*)imageWithImage: (UIImage*) sourceImage scaledToWidth: (float) i_width
{
    float oldWidth = sourceImage.size.width;
    float scaleFactor = i_width / oldWidth;

    float newHeight = sourceImage.size.height * scaleFactor;
    float newWidth = oldWidth * scaleFactor;

    UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight));
    [sourceImage drawInRect:CGRectMake(0, 0, newWidth, newHeight)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();
    return newImage;
}

Ios相关问答推荐

在许多UIButton中对齐文本,即使SF Symbols(或其他图像)具有不同的宽度?

将数据传回VC时委托为空

在滚动视图中固定页眉,但在页眉上方嵌入元素

在最新版本的 iOS 中,设备上的Localized.strings文件发生了什么变化?

如何使用 Rxswift 处理程序最喜欢的按钮

如何在用户点击的位置使用SceneKit渲染球体?

SwiftUI Disclosure Group 文本对齐

将值传递给导航链接视图中的文本框

Swift 图表:.chartYScale 似乎只适用于 100 的增量?

SwiftUI:如何用拇指移动滑块值

实现一个将块用作回调的方法

Xcode - 错误 ITMS-90635 - Bundle 包中的 Mach-O 无效 - 提交到 App Store

iOS 8 - 使用自定义演示关闭视图控制器后屏幕空白

如何在 SwiftUI 中检测 TextField 的实时变化?

有没有办法在 xib 文件中的视图和顶部布局指南之间添加约束?

在原生和 phonegap 之间挣扎,简单的应用需求

从 WKWebView 获取所有 cookie

UIButton 事件.有什么不同?

如何像在 Facebook 应用程序中一样以编程方式打开设置?

请在您的 Podfile 中为此目标指定一个平台?