【发布时间】:2010-03-15 20:53:24
【问题描述】:
我有一组图像,我使用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);
【问题讨论】:
标签: java image bufferedimage jai mosaic