2
respostas

icone para Bitmap

Olá pessoal tenho um componente que utiliza bitmap e preciso setar um icone nele gostaria de transformar o icone que esta no formato xml para bitmap, é possível?

fiz uma tentativa...

val imageBitmap = BitmapFactory.decodeResource(resources, R.drawable.icon_company)

não entendo pq, mas essa variável é do tipo "pode ser null" Bitmap!

2 respostas

Olá Luciano,

Obrigado por compartilhar sua dúvida conosco. É possível converter um ícone no formato XML para Bitmap sim! Uma maneira de fazer isso é utilizando o método BitmapFactory.decodeFile(). Você pode passar o caminho do arquivo XML como parâmetro e a função irá retornar um objeto Bitmap.

Quanto à sua tentativa, a variável imageBitmap está sendo declarada como um tipo "pode ser null" Bitmap porque a função BitmapFactory.decodeResource() pode retornar um valor nulo se não conseguir decodificar o recurso. Para evitar isso, você pode adicionar uma verificação de nulo antes de utilizar a variável.

Segue um exemplo de como converter um ícone no formato XML para Bitmap:

val xmlIcon = resources.getDrawable(R.drawable.icon_company)
val bitmap = Bitmap.createBitmap(xmlIcon.intrinsicWidth, xmlIcon.intrinsicHeight, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
xmlIcon.setBounds(0, 0, canvas.width, canvas.height)
xmlIcon.draw(canvas)

Espero ter ajudado e bons estudos!

Muito obrigado Matheus!! Aproveitando o assunto E o contrário? Bitmap para icone xml Como ficaria???