JAIのMosaicDescriptorを使用して、1つの画像モザイクに結合している一連の画像があります。
ほとんどの画像は同じサイズですが、小さい画像もあります。不足しているスペースを白で埋めたいのですが、デフォルトでは、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);