преобразование base64 в изображение не работает должным образом - PullRequest
0 голосов
/ 17 ноября 2018

Я конвертирую base64 в изображение, но когда я устанавливаю его в imageView, он ничего не показывает.

Я испробовал почти все решения, доступные в stackoverflow, но тот же результат. Вот как я сейчас пытаюсь это сделать

var iconBase64String = "myBASE64StringWhichIsGivenBelow"
// remove 'data:image/svg+xml;base64,' from start of string
iconBase64String = iconBase64String.substring(iconBase64String.indexOf(",")  + 1)
val image = findViewById<ImageView>(R.id.imageView)

val imageAsBytes = Base64.decode(iconBase64String.toByteArray(), Base64.DEFAULT)
val decodedString = Base64.decode(iconBase64String, Base64.DEFAULT)
val bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.size)
image.setImageBitmap(bitmap)

Я также пробовал с glide

var iconBase64String = "myBASE64StringWhichIsGivenBelow"
// remove 'data:image/svg+xml;base64,' from start of string
iconBase64String = iconBase64String.substring(iconBase64String.indexOf(",")  + 1)
val image = findViewById<ImageView>(R.id.imageView)

val imageAsBytes = Base64.decode(iconBase64String.toByteArray(), Base64.DEFAULT)
Glide.with(this)
      .asBitmap()
      .load(imageAsBytes)
      .into(image)

вот base64, который я пытаюсь преобразовать:

Данные: изображение / SVG + XML; base64, PHN2ZyBoZWlnaHQ9IjU0IiB2aWV3Qm94PSIwIDAgNDIuMTE3ODQgNDIuMTI5NDQ2IiB3aWR0aD0iNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxjbGlwUGF0aCBpZD0iYSI + PHBhdGggZD0ibTcyMC42IDMwNi40aDUwOC43djI2NmgtNTA4Ljd6IiBoZWlnaHQ9IjEwMCUiIHRyYW5zZm9ybT0iIiB3aWR0aD0iMTAwJSIvPjwvY2xpcFBhdGg + PGNsaXBQYXRoIGlkPSJiIj48cGF0aCBkPSJtNzIwLjYgMGgyNTQuNHY1NzIuNGgtMjU0LjR6IiBoZWlnaHQ9IjEwMCUiIHRyYW5zZm9ybT0iIiB3aWR0aD0iMTAwJSIvPjwvY2xpcFBhdGg + PGNsaXBQYXRoIGlkPSJjIj48cGF0aCBkPSJtOTc1IDBoMjU0LjR2NTcyLjRoLTI1NC40eiIgaGVpZ2h0PSIxMDAlIiB0cmFuc2Zvcm09IiIgd2lkdGg9IjEwMCUiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZCI + PHBhdGggZD0ibTcyMC42IDQ3MC4zaDI1NC40djM1OC40aC0yNTQuNHoiIGhlaWdodD0iMTAwJSIgdHJhbnNmb3JtPSIiIHdpZHRoPSIxMDAlIi8 + PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImUiPjxwYXRoIGQ9Im05NzUgNDcwLjNoMjU0LjV2MzU4LjRoLTI1NC41eiIgaGVpZ2h0PSIxMDAlIiB0cmFuc2Zvcm09IiIgd2lkdGg9IjEwMCUiLz48L2NsaXBQYXRoPjxnIGZpbGw9IiMwMTAxMDEiPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNh KSIgZD0ibTk3NSAzMDYuNC0yNTQuNCAxMTUuNyAyNTQuNCAxNTAuMyAyNTQuMy0xNTAuM3oiIG9wYWNpdHk9Ii42IiB0cmFuc2Zvcm09Im1hdHJpeCguMDUwODM3OTkgMCAwIC4wNTA4Mzc5OSAtMjguNTEwNjYyIDApIi8 + PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJtNzIwLjYgNDIyLjEgMjU0LjQgMTUwLjN2LTU3Mi40eiIgb3BhY2l0eT0iLjQ1IiB0cmFuc2Zvcm09Im1hdHJpeCguMDUwODM3OTkgMCAwIC4wNTA4Mzc5OSAtMjguNTEwNjYyIDApIi8 + PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2MpIiBkPSJtOTc1IDB2NTcyLjRsMjU0LjMtMTUwLjN6IiBvcGFjaXR5PSIuOCIgdHJhbnNmb3JtPSJtYXRyaXgoLjA1MDgzNzk5IDAgMCAuMDUwODM3OTkgLTI4LjUxMDY2MiAwKSIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNkKSIgZD0ibTcyMC42IDQ3MC4zIDI1NC40IDM1OC40di0yMDguMXoiIG9wYWNpdHk9Ii40NSIgdHJhbnNmb3JtPSJtYXRyaXgoLjA1MDgzNzk5IDAgMCAuMDUwODM3OTkgLTI4LjUxMDY2MiAwKSIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNlKSIgZD0ibTk3NSA2MjAuNnYyMDguMWwyNTQuNS0zNTguNHoiIG9wYWNpdHk9Ii44IiB0cmFuc2Zvcm09Im1hdHJpeCguMDUwODM3OTkgMCAwIC4wNTA4Mzc5OSAtMjguNTEwNjYyIDApIi8 + PC9nPjwvc3ZnPg ==

1 Ответ

0 голосов
/ 17 ноября 2018

Вы можете использовать скольжение для показа изображения

          String photoId="base64value"
          Glide.with(getApplicationContext())
            .load(photoId)
            .apply(RequestOptions.circleCropTransform())  //If you get circule
            .into(employeeImage); //xml file name
...