Я получаю изображение из ImageReader в формате PixelFormat.RGBA_8888
. Мне нужно преобразовать это изображение в ARGB.
Получить простой буфер
private OnImageAvailableListener frameObserver = new OnImageAvailableListener() {
public void onImageAvailable(ImageReader reader) {
Image frame = reader.acquireNextImage();
Image.Plane[] planes = frame.getPlanes();
ByteBuffer buffer = planes[0].getBuffer();
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
Но результаты не имеют для меня смысла.Это изображение размером 320x240, оно должно иметь байты 320X240X32 (RGBA_8888) ... но размер buffer.length составляет всего 307200 байт.
У него также есть Striderow 1280 и StridePixel 4, поэтому он должен быть еще больше.
Я знаю, что мог бы задать базовый вопрос, но, к сожалению, я не нахожу какую-либо информацию или учебник оэто.
Спасибо