У меня есть набор изображений, которые я объединяю в одну мозаику изображений, используя JAI MosaicDescriptor .
Большинство изображений имеют одинаковый размер, но некоторые меньше. Я хотел бы заполнить недостающее пространство белым - по умолчанию, MosaicDescriptor использует черный. Я попытался установить параметр фона double [] равным {255}, и он заполняет недостающее пространство белым, но он также привносит некоторое обесцвечивание в некоторых других полноразмерных изображениях.
Я открыт для любого метода - возможно, есть много способов сделать это, но с документацией трудно ориентироваться. Я рассматриваю возможность преобразования любых небольших изображений в BufferedImage и вызова setRGB () в пустых областях (хотя я не уверен, что использовать для сканирования в методе setRGB () пакета).
Мой вопрос по сути:
- Как лучше всего взять изображение (в JAI или BufferedImage) и заполнить / добавить отступы до определенного размера?
- Есть ли способ сделать это в вызове MosaicDescriptor без побочных эффектов?
Для справки, вот код, который создает мозаику:
for (int i = 0; i < images.length; i++) {
images[i] = JPEGDescriptor.create(new ByteArraySeekableStream(images[i]), null);
if (i != 0) {
images[i] = TranslateDescriptor.create(image, (float) (width * i), null, null, null);
}
}
RenderedOp finalImage = MosaicDescriptor.create(ops, MosaicDescriptor.MOSAIC_TYPE_OVERLAY, null, null, null, null, null);