package com.basic.security.utils; import android.graphics.Bitmap; import java.nio.ByteBuffer; public class BgrUtils { ByteBuffer buffer; byte[] pixels; public byte[] getPixelsBGR(Bitmap image) { // calculate how many bytes our image consists of int bytes = image.getByteCount(); if (buffer == null || buffer.array().length != bytes) { buffer = ByteBuffer.allocate(bytes); // Create a new buffer } buffer.clear(); image.copyPixelsToBuffer(buffer); // Move the byte data to the buffer byte[] temp = buffer.array(); // Get the underlying array containing the data. if (pixels == null || pixels.length != (temp.length / 4) * 3) { pixels = new byte[(temp.length / 4) * 3]; // Allocate for BGR } // Copy pixels into place for (int i = 0; i < temp.length / 4; i++) { pixels[i * 3] = temp[i * 4 + 2]; //B pixels[i * 3 + 1] = temp[i * 4 + 1]; //G pixels[i * 3 + 2] = temp[i * 4]; //R } return pixels; } }