Android 在2.2中将RGB图像转换为位图错误

Android 在2.2中将RGB图像转换为位图错误,android,Android,将RGB图像转换为位图 public static Bitmap rgbToBitmap(int[] rgb, int width, int height) { if (rgb == null) throw new NullPointerException(); Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); bitmap.setPixels(rgb, 0, width

将RGB图像转换为位图

public static Bitmap rgbToBitmap(int[] rgb, int width, int height) {
    if (rgb == null) throw new NullPointerException();

    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
    bitmap.setPixels(rgb, 0, width, 0, 0, width, height);
    return bitmap;
}
试着这样做:

编辑:

您可以使用以下方法解决
内存不足问题


希望它能帮助你

尝试使用Bitmap.createScaledBitmap()和设备的宽度和高度图像超载了内存预算

谢谢。它没有解决。它在Htc wildfire 2.2.1中抛出“1327124字节分配内存不足”错误,感谢您的重播。但是我怎样才能在上面使用(位图rgbToBitmap)函数。
 Bitmap bmp = Bitmap.createBitmap(frameWidth, frameHeight, Bitmap.Config.ARGB_8888); 
 public static Bitmap shrinkBitmap(String p_file, int p_width, int p_height)
{
    BitmapFactory.Options m_bmpFactoryOptions = new BitmapFactory.Options();
    m_bmpFactoryOptions.inJustDecodeBounds = true;
    Bitmap m_bitmap = BitmapFactory.decodeFile(p_file, m_bmpFactoryOptions);        
    int m_heightRatio =
            (int) Math.ceil(m_bmpFactoryOptions.outHeight / (float) p_height);
    int m_widthRatio =
            (int) Math.ceil(m_bmpFactoryOptions.outWidth / (float) p_width);        
    if (m_heightRatio > 1 || m_widthRatio > 1)
    {
        if (m_heightRatio > m_widthRatio)
        {
            m_bmpFactoryOptions.inSampleSize = m_heightRatio;
        }
        else
        {
            m_bmpFactoryOptions.inSampleSize = m_widthRatio;
        }
    }       
    m_bmpFactoryOptions.inJustDecodeBounds = false;
    m_bitmap = BitmapFactory.decodeFile(p_file, m_bmpFactoryOptions);
    return m_bitmap;
}