Java tutorial
//package com.java2s; //License from project: Open Source License import android.graphics.Bitmap; import android.util.Log; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.IntBuffer; public class Main { public static void saveRgb2Bitmap(IntBuffer buf, String filePath, int width, int height) { final int[] pixelMirroredArray = new int[width * height]; Log.d("TryOpenGL", "Creating " + filePath); BufferedOutputStream bos = null; try { int[] pixelArray = buf.array(); // rotate 180 deg with x axis because y is reversed for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { pixelMirroredArray[(height - i - 1) * width + j] = pixelArray[i * width + j]; } } bos = new BufferedOutputStream(new FileOutputStream(filePath)); Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); bmp.copyPixelsFromBuffer(IntBuffer.wrap(pixelMirroredArray)); bmp.compress(Bitmap.CompressFormat.JPEG, 90, bos); bmp.recycle(); } catch (IOException e) { e.printStackTrace(); } finally { if (bos != null) { try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }