2013-01-09 4 views
-1

Convertir une image RVB en bitmapConvertir une image RVB en une erreur Bitmap dans 2.2

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; 
} 

Répondre

1

Essayez de cette façon:

Bitmap bmp = Bitmap.createBitmap(frameWidth, frameHeight, Bitmap.Config.ARGB_8888); 

ÉDITÉ:

Vous pouvez résoudre le problème out of memory en utilisant la méthode ci-dessous:

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; 
} 

espère que cela vous aidera.

+0

Thanks.Its non solved.Its jette erreur « mémoire sur une allocation 1327124 octets » dans Htc wildfire 2.2.1 – patel

+0

Merci pour votre rejouer. Mais comment puis-je utiliser dans la fonction ci-dessus (Bitmap rgbToBitmap). – patel

0

Essayez d'utiliser Bitmap.createScaledBitmap() avec la largeur et la hauteur des dispositifs de l'image est la surcharge du budget de la mémoire

Questions connexes