build: compile release APK and update dependencies (expo-image-manipulator/loader)

This commit is contained in:
2026-05-31 14:24:26 +02:00
parent 69637c4203
commit 2b5a259fe5
1260 changed files with 3804 additions and 166620 deletions
@@ -0,0 +1,30 @@
// Copyright 2024-present 650 Industries. All rights reserved.
/**
Transformer that creates a new image by rotating given image by the rotate angle.
*/
internal struct ImageRotateTransformer: ImageTransformer {
let rotate: Double
@MainActor
func transform(image: UIImage) async throws -> UIImage {
guard let cgImage = image.cgImage else {
throw ImageNotFoundException()
}
let rads = rotate * .pi / 180
let rotatedView = UIView(frame: CGRect(origin: .zero, size: image.size))
rotatedView.transform = CGAffineTransform(rotationAngle: rads)
let rotatedSize = CGSize(width: rotatedView.frame.size.width.rounded(.down), height: rotatedView.frame.size.height.rounded(.down))
let origin = CGPoint(x: -image.size.width / 2, y: -image.size.height / 2)
return drawInNewContext(size: rotatedSize) { context in
let cgContext = context.cgContext
cgContext.translateBy(x: rotatedSize.width / 2, y: rotatedSize.height / 2)
cgContext.rotate(by: rads)
cgContext.scaleBy(x: 1.0, y: -1.0)
cgContext.draw(cgImage, in: CGRect(origin: origin, size: image.size))
}
}
}