я получаю данные пикселя моего ARGB_8888 растрового изображения, делая это:Android- конвертировать ARGB_8888 растровое изображение 3BYTE_BGR
public void getImagePixels(byte[] pixels, Bitmap image) {
// calculate how many bytes our image consists of
int bytes = image.getByteCount();
ByteBuffer buffer = ByteBuffer.allocate(bytes); // Create a new buffer
image.copyPixelsToBuffer(buffer); // Move the byte data to the buffer
pixels = buffer.array(); // Get the underlying array containing the data.
}
Но я хотел бы, чтобы преобразовать эти данные, в которых каждый пиксель хранится на четырех байт (ARGB), где каждый пиксель хранится на 3 байта (BGR).
Любая помощь приветствуется!
Я не думаю, что 'пикселей = buffer.array()' делает то, что вы ожидаете его , Вы хотите вернуть массив пикселей или скопировать их в заранее выделенный пиксельный массив? – haraldK
«пикселей» является заранее выделенным пиксельным массивом –