Android: Transform a bitmap into an input stream

后端 未结 2 1827
陌清茗
陌清茗 2020-12-24 05:14

How do you transform a Bitmap into an InputStream?

I would like to use this InputStream as input to the ETC1Util.loadTex

相关标签:
2条回答
  • 2020-12-24 06:05

    This might work

    ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
    bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos); 
    byte[] bitmapdata = bos.toByteArray();
    ByteArrayInputStream bs = new ByteArrayInputStream(bitmapdata);
    
    0 讨论(0)
  • 2020-12-24 06:05

    This is my way:

    // Your Bitmap.
    Bitmap bitmap = XXX;  
    
    int byteSize = bitmap.getRowBytes() * bitmap.getHeight();
    ByteBuffer byteBuffer = ByteBuffer.allocate(byteSize);
    bitmap.copyPixelsToBuffer(byteBuffer);  
    
    // Get the byteArray.
    byte[] byteArray = byteBuffer.array();
    
    // Get the ByteArrayInputStream.
    ByteArrayInputStream bs = new ByteArrayInputStream(byteArray);
    
    0 讨论(0)
提交回复
热议问题