我想在 Swift 中编写一个函数,它可以获取图像并裁剪除中间的细水平线之外的所有内容。我不想保留纵横比。
这是我目前所拥有的,但它并没有按照我想要的方式工作。我只想保留从 y=276 到 y=299 的像素。
func cropImageToBars(image: UIImage) -> UIImage {
let rect = CGRectMake(0, 200, image.size.width, 23)
UIGraphicsBeginImageContextWithOptions(rect.size, false, 1.0)
image.drawInRect(rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
Best Answer-推荐答案 strong>
您的代码向后执行此操作。 UIImage drawInRect() 方法将整个图像绘制到目标矩形中。把它想象成一个电影放大机或幻灯机。您可以调整将图像渲染到的框的大小和形状。您设置了一个图像上下文,它就像一段捕捉图像的电影。
您通常希望将图像渲染成一个与图像完全大小相同的矩形,并移动它的原点,以便原点为 0 的图像上下文捕获图像的所需位。
我有一个名为 CropImg 的演示项目 显示如何裁剪图像的一部分。它有一个用户界面,可以让用户选择图像的一部分。你的情况比较简单,但它应该给你的想法。
关于ios - 如何在 Swift 中裁剪 UIImage?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39282494/
|