Files
hyperoslo-Cache/Source/iOS/UIImage+Extensions.swift
Kristaps Grinbergs 9e4ec388aa Fix platform specifics
2019-09-28 14:06:39 +03:00

32 lines
544 B
Swift

#if canImport(UIKit)
import UIKit
/// Helper UIImage extension.
extension UIImage {
/// Checks if image has alpha component
var hasAlpha: Bool {
let result: Bool
guard let alpha = cgImage?.alphaInfo else {
return false
}
switch alpha {
case .none, .noneSkipFirst, .noneSkipLast:
result = false
default:
result = true
}
return result
}
/// Convert to data
func cache_toData() -> Data? {
return hasAlpha
? pngData()
: jpegData(compressionQuality: 1.0)
}
}
#endif