Stefan Oltmann
12/17/2023, 1:00 PM<image>
a JPG I generated in my WebAssembly.
Using ChatGPT I got as far as the code below, but I don't understand how I can convert my ByteArray (containing JPG bytes) to a Blob that the HTMLImageElement will accept.
htmlImageElement?.let { imageElement ->
metadata.getExifThumbnailBytes()?.let { imageBytes ->
val uint8Array: Uint8Array = imageBytes.toUint8Array()
val blob = Blob(
arrayOf(uint8Array), // FIXME
BlobPropertyBag("image/jpeg")
)
val url = URL.Companion.createObjectURL(blob)
imageElement.src = url
}
}
Robert Jaros
12/17/2023, 1:30 PMJsArray
object.Stefan Oltmann
12/17/2023, 1:30 PMRobert Jaros
12/17/2023, 1:33 PMRobert Jaros
12/17/2023, 1:33 PMUint8Array
- if it's external type you don't have to convert it.Robert Jaros
12/17/2023, 1:35 PMorg.khronos.webgl.Uint8Array
?Stefan Oltmann
12/17/2023, 1:35 PMorg.khronos.webgl.Uint8Array
https://github.com/StefanOltmann/MetadataViewer/blob/00275dbead1c410677d6cf77ab97810dcbed66ff/app/src/wasmJsMain/kotlin/main.kt#L53Robert Jaros
12/17/2023, 1:35 PMStefan Oltmann
12/17/2023, 1:35 PMRobert Jaros
12/17/2023, 1:38 PMfun<T: JsAny> jsArrayOf(vararg elements: T): JsArray<T> {
val array = JsArray<T>()
for (i in elements.indices) {
array[i] = elements[i]
}
return array
}
Robert Jaros
12/17/2023, 1:39 PMjsArrayOf(uint8Array)
as Blob parameterStefan Oltmann
12/17/2023, 1:41 PMStefan Oltmann
12/17/2023, 1:41 PMStefan Oltmann
12/17/2023, 2:50 PMMichael Paus
12/22/2023, 1:24 PMStefan Oltmann
12/22/2023, 1:53 PM