Я пытаюсь получить набор mipmaplevels и сохранить их в файле локального кэша, чтобы избежать их повторной сборки каждый раз (а их предварительная генерация нецелесообразна ...)
У меня есть mipmaplevels в наборе растровых изображений, и теперь я хочу записать их в мой файл кэша, но независимо от того, какой тип буфера я использую (прямой или нет, установка метеорологом или нет), hasArray всегда возвращает false на Intbuffer. Должно быть, я здесь что-то делаю глупо, но больше не вижу дерева для деревьев.
Давно не использую java, так что это просто ошибка noob;)
Код выглядит так:
int tsize = 256;
ByteBuffer xbb = ByteBuffer.allocate(tsize*tsize*4);
// or any other variety of create like wrap etc. makes no diference
xbb.order(ByteOrder.nativeOrder()); // in or out - makes no difference
IntBuffer ib = xbb.asIntBuffer();
for (int i = 0; i < tbm.length; i++) {
//ib.array() throws exception, ib.hasArray() returns false;
tbm[i].getPixels(ib.array(), 0, tsize, 0, 0, tsize, tsize);
ou.write(xbb.array(), 0, tsize*tsize*4);
tsize = tsize / 2;
}