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
.