a
554325746@qq.com
2020-01-13 7171bbcdb2859ea93f3af69d817243752b08314a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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) {
        int bytes = image.getByteCount();
        if (buffer == null || buffer.array().length != bytes) {
            buffer = ByteBuffer.allocate(bytes);
        }
        buffer.clear();
        image.copyPixelsToBuffer(buffer);
        byte[] temp = buffer.array();
        if (pixels == null || pixels.length != (temp.length / 4) * 3) {
            pixels = new byte[(temp.length / 4) * 3];
        }
        for (int i = 0; i < temp.length / 4; i++) {
            pixels[i * 3] = temp[i * 4 + 2];
            pixels[i * 3 + 1] = temp[i * 4 + 1];
            pixels[i * 3 + 2] = temp[i * 4];
        }
        return pixels;
    }
}