转换 jpeg2000 的十六进制字符串

问题描述 投票:0回答:0

我有表示 jpeg2000 图像的十六进制字符串数据,如何使用 Kotlin 转换它并在 ImageView 中显示它?

我尝试将十六进制字符串转换为 ByteArray,就像这样:

`private fun hexStringToByteArray(hexString: String): ByteArray {
        val len = hexString.length
        val data = ByteArray(len / 2)
        var i = 0
        while (i < len) {
            data[i / 2] = ((Character.digit(hexString[i], 16) shl 4)
                    + Character.digit(hexString[i + 1], 16)).toByte()
            i += 2
        }
        return data
    }`

然后尝试使用 JP2 for Android 库https://github.com/ThalesGroup/JP2ForAndroid 来获取这样的图像:

  `private fun showBitmap(){
        
        hexStringToByteArray(image_JPEG_Hex)?.let {jp2data->
            
            val bmpJP2Decoder = JP2Decoder(jp2data)
            bmpJP2Decoder.decode()?.let {bmp->
                imgView?.setImageBitmap(bmp)
            }
            
        }

    }`

但是 bmpJP2Decoder.decode() 返回空值。

android kotlin jpeg jpeg2000
© www.soinside.com 2019 - 2024. All rights reserved.