在JAI中将图像分成四个相等的部分

时间:2010-02-03 09:10:43

标签: java imaging

请给我一些编码,将图像分成四个部分,从Java Advanced Imaging中心分离出来。

3 个答案:

答案 0 :(得分:2)

不确定JAI,但这里是BufferedImage方法,您可以将其用作JAI的输入。所以这可能适用于您的用例

public static BufferedImage[] divide(BufferedImage source) {
  // for odd widths or heights, the last row or column will be ignored
  // fixing this behaviour is left as an exercise to the eager
  int height = source.getHeight() / 2;
  int width = source.getWidth() / 2;

  return new BufferedImage[] {
    source.getSubimage(0, 0, width, height), // top left
    source.getSubimage(width, 0, width, height), // top right
    source.getSubimage(0, height, width, height), // bottom left
    source.getSubimage(width, height, width, height) // bottom right
  };
}

答案 1 :(得分:1)

在Sun的Java2D * 演示中使用四个unequal parts进行了一些有趣的 trompe-l'oeil

*查看Images标签的右下象限。

答案 2 :(得分:1)

在示例中,宽度必须首先高于高度。那就是:

source.getSubimage(0, 0,width, height ), // top left
source.getSubimage(width, 0, width, height), // top right
source.getSubimage(0, height, width, height), // bottom left