这是最简单的转换了,一次处理三个字节放到一个int中,然后这个int | 0xFF000000, 让他变成四个字节即可。自己写下吧

解决方案 »

  1.   

    static Bitmap  createBitmap(int width, int height, Bitmap.Config config)   这个方法,最后一个参数,可以设置类型 枚举值有Bitmap.Config  ALPHA_8    
    Bitmap.Config  ARGB_4444    
    Bitmap.Config  ARGB_8888    
    Bitmap.Config  RGB_565    
      

  2.   

    还没解决啊,24和32的差别就是少个alpha通道,rgba中,将a填充为255就行了,如果你逐像素转的话,我在上面回复的直接用api转更方便啊
      

  3.   

    我是解码后的输出是byte的数组。直接移位啊?
      

  4.   

    public void RGB24ToRGB32(int[] out, byte[] fg, int width, int height) 
    {
    int i;
    for (i = 0; i < height*width; i ++) { 
    int B = fg[i*3];
            if (B < 0) 
                B = 0; 
            else if (B > 255) 
                B = 255;
    int G = fg[i*3+1];
            if (G < 0) 
                G = 0; 
            else if (G > 255) 
                G = 255;
    int R = fg[i*3+2];
            if (R < 0) 
                R = 0; 
            else if (R > 255) 
                R = 255;
    out[i++] = 0xFF000000 + (B << 16) + (G << 8) + R; 
    }
    }看看这个转换对不对?