Swift - 旋转图像,然后放大并裁剪以保持 width/height 纵横比不变
Swift - Rotate an image, then zoom in and crop to keep width/height aspect ratio intact
如果标题不清楚,请打开 iPhone 上的照片应用并编辑照片。试试旋转工具。框架不旋转,只有图像旋转并放大以留在框架中。
这是一张图片:
我想将此行为复制到我的 Swift 项目中。这意味着旋转图像(可以是 UIImage、CIImage 或 CGImage)但裁剪它保持相同的 width/height 比率。
我应该从哪里开始?谢谢你的时间。
有一个应用程序一个过滤器。 CIStraightenFilter 将图像旋转任意量,同时拉伸和裁剪图像以保持原始尺寸:
let image: CIImage = /* my image 480x320 */
let rotated = image.applyingFilter("CIStraightenFilter",
withInputParameters: [ kCIInputAngleKey: Double.pi / 6 ]) // 30 degrees
rotated.extent // still 480x320
这里有一些例子(旋转 0、15°、30° 和 45°):
如果标题不清楚,请打开 iPhone 上的照片应用并编辑照片。试试旋转工具。框架不旋转,只有图像旋转并放大以留在框架中。
这是一张图片:
我想将此行为复制到我的 Swift 项目中。这意味着旋转图像(可以是 UIImage、CIImage 或 CGImage)但裁剪它保持相同的 width/height 比率。
我应该从哪里开始?谢谢你的时间。
有一个应用程序一个过滤器。 CIStraightenFilter 将图像旋转任意量,同时拉伸和裁剪图像以保持原始尺寸:
let image: CIImage = /* my image 480x320 */
let rotated = image.applyingFilter("CIStraightenFilter",
withInputParameters: [ kCIInputAngleKey: Double.pi / 6 ]) // 30 degrees
rotated.extent // still 480x320
这里有一些例子(旋转 0、15°、30° 和 45°):