Skip to content Skip to sidebar Skip to footer

Cocos 2d Screen Shot Is Black In Android

I am using the following code. The image is saved but it is BLACK. Please see my code and tell me where I am doing wrong. I am using this code in the Menu. case R.id.id_menu_Sa

Solution 1:

Just change SavePixelx method to the below:

publicstatic Bitmap SavePixels(int x, int y, int w, int h, GL10 gl)
{  
     int b[]=newint[w*(y+h)];
     int bt[]=newint[w*h];
     IntBuffer ib=IntBuffer.wrap(b);
     ib.position(0);
     gl.glReadPixels(x, 0, w, y+h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, ib);

     for(int i=0, k=0; i<h; i++, k++)
     {
          //remember, that OpenGL bitmap is incompatible with Android bitmap//and so, some correction need.        for(int j=0; j<w; j++)
          {
               int pix=b[i*w+j];
               int pb=(pix>>16)&0xff;
               int pr=(pix<<16)&0xffff0000;
               int pix1=(pix&0xff00ff00) | pr | pb;
               bt[(h-k-1)*w+j]=pix1;
          }
     }

    Bitmapsb= Bitmap.createBitmap(bt, w, h, Bitmap.Config.ARGB_8888); 
    return sb;
}

Solution 2:

just try to change GL10.GL_RGB or make changes in bitmap.config . It might be work.

Post a Comment for "Cocos 2d Screen Shot Is Black In Android"