You've already forked immich
mirror of
https://github.com/immich-app/immich.git
synced 2025-07-09 06:25:41 +02:00
21 lines
678 B
Swift
21 lines
678 B
Swift
![]() |
//
|
||
|
// Utils.swift
|
||
|
// Runner
|
||
|
//
|
||
|
// Created by Alex Tran and Brandon Wees on 6/16/25.
|
||
|
//
|
||
|
import UIKit
|
||
|
|
||
|
extension UIImage {
|
||
|
/// Crops the image to ensure width and height do not exceed maxSize.
|
||
|
/// Keeps original aspect ratio and crops excess equally from edges (center crop).
|
||
|
func resized(toWidth width: CGFloat, isOpaque: Bool = true) -> UIImage? {
|
||
|
let canvas = CGSize(width: width, height: CGFloat(ceil(width/size.width * size.height)))
|
||
|
let format = imageRendererFormat
|
||
|
format.opaque = isOpaque
|
||
|
return UIGraphicsImageRenderer(size: canvas, format: format).image {
|
||
|
_ in draw(in: CGRect(origin: .zero, size: canvas))
|
||
|
}
|
||
|
}
|
||
|
}
|