electrolobzik
01/16/2024, 3:48 PMByteArray from UIImage?Russell Stewart
01/16/2024, 4:11 PMextension UIImage {
func toByteArray() -> KotlinByteArray? {
if let data = self.resize(targetSize: CGSizeMake(1020, 768)).jpegData(compressionQuality: 0.8) {
return ImageUtils().dataToByteArray(data: data)
} else {
return nil
}
}
}Russell Stewart
01/16/2024, 4:12 PMelectrolobzik
01/16/2024, 4:17 PMresize method in UIImageelectrolobzik
01/16/2024, 4:17 PMelectrolobzik
01/16/2024, 4:18 PMRussell Stewart
01/16/2024, 4:21 PMImageUtils is a shared object I wrote in the ios Kotlin module:
typealias ImageBytes = NSData
@OptIn(ExperimentalForeignApi::class)
fun ImageBytes.toByteArray(): ByteArray = ByteArray(this@toByteArray.length.toInt()).apply {
usePinned {
memcpy(it.addressOf(0), this@toByteArray.bytes, this@toByteArray.length)
}
}
@Suppress("unused")
object ImageUtils {
fun dataToByteArray(data: NSData): ByteArray {
return data.toByteArray()
}
}Russell Stewart
01/16/2024, 4:21 PMresize method in UIImage though.Russell Stewart
01/16/2024, 4:24 PMByteArray.