我有一个风景 UIImage
,我想裁剪到900x900尺寸 .
我不希望它被拉伸 - 我希望它可以缩放到100% - 图像将缩放到900x900,并且图像中超出范围的部分将被裁剪 .
我试过这段代码:
UIGraphicsBeginImageContextWithOptions(newSize, true, UIScreen.main.scale);
image.draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height))
let newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage!
但它所做的只是将图像拉伸到900x900尺寸,这不是我想要的 .
知道我能在这做什么?
谢谢
2 回答
如果图像大小大于900,则可以从图像中心裁剪为900像素 .
Here is the code :
希望能帮助到你
快乐的编码......
如果我正确地阅读您的问题,您可以通过定制UIImageView(将图像附加到)的contentMode属性来实现您想要的功能 .
看看这里的开发人员参考:https://developer.apple.com/reference/uikit/uiimageview
但是,要回答您的问题,要将图像放在UIImageView的中心而不拉伸它,请使用contentMode.center;缩放它以适应视图但保持纵横比使用.aspectFit;并且要拉伸以适合图像视图,请使用.scaleToFill . 链接中还解释了其他选项 .