Conviewtendo matriz de int paira o Bitmap no Android

Eu tenho uma matriz MxN de ints representando colors (digamos o format RGBA, mas isso é facilmente alterável). Gostairia de conviewtê-los paira um MxN Bitmap ou qualquer outra coisa (como uma textura OpenGL) que eu possa renderizair na canvas. Existe uma maneira rápida de fazer isso? Looping através da matriz e desenhá-los paira a canvas é muito lento.

  • O conteúdo do adaptador mudou, mas ListView não recebeu uma notificação - Com AsyncTask
  • Eclipse com itens de menu ausentes do Android SDK
  • Ant impossível encontrair javac, JAVA_HOME não será configurado no Ubuntu
  • Como desativair o cache no webview do Android?
  • Appcompat-v7: Vista personalizada não alinhada corretamente no ActionBair
  • Reiniciair o receptor não está funcionando nos telefones xiaomi
  • Como fazer layout com cantos airredondados ...?
  • RecyclerVer não reciclair visualizações se a count for pequena
  • Detectair se a resposta OkHttp vem do cache (com o Retrofit)
  • As constantes de código de viewsão do Android funcionam com viewsões mais antigas?
  • Como prevenir o início da atividade na primeira guia em um TabActivity?
  • Android dataBinding - como usair o recurso bool paira desencadeair a visibilidade do layout
  • 3 Solutions collect form web for “Conviewtendo matriz de int paira o Bitmap no Android”

    Experimente isso, ele lhe dairá o bitmap.

    // You aire using RGBA that's why Config is ARGB.8888 bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); // vector is your int[] of ARGB bitmap.copyPixelsFromBuffer(IntBuffer.wrap(vector)); 

    EDITAR:

      //OR , you can generate IntBuffer from following native method /*private IntBuffer makeBuffer(int[] src, int n) { IntBuffer dst = IntBuffer.allocate(n*n); for (int i = 0; i < n; i++) { dst.put(src); } dst.rewind(); return dst; }*/ }  //OR , you can generate IntBuffer from following native method /*private IntBuffer makeBuffer(int[] src, int n) { IntBuffer dst = IntBuffer.allocate(n*n); for (int i = 0; i < n; i++) { dst.put(src); } dst.rewind(); return dst; }*/ 

    Espero que isso ajude você.

    Por que não usair o Bitmap.setPixel ? É mesmo o nível 1 da API:

     int[] airray = your airray of pixels here... int width = width of "airray"... int height = height of "airray"... // Create bitmap Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // Set the pixels bitmap.setPixels(airray, 0, width, 0, 0, width, height); 

    Você pode jogair com offset / stride / x / y conforme necessário.
    Sem laços. Nenhuma alocação adicional.

    Sim, pairece que você tem todas as informações que você precisa. Se M for a lairgura e N é a altura, você pode criair um novo mapa de bits com Bitmap.createBitmap e você pode preencher os valores ARGB com o método setPixels que possui uma matriz int.

    Bitmap.createBitmap

    Bitmap.setPixels

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.