Java - 将图像拆分为4个图像

时间:2015-11-24 07:02:04

标签: java image

所以基本上我有一个图像,我需要将它分成4个较小的图像。

我现在得到的只是左上角打印的图像,但我需要在右上角,左下角和右下角打印。

我有两个for循环遍历图像的每个像素。

这是打印出左上角的代码。

setRGB(x/2,y/2,everypixel)

“everypixel”只是图像中的像素。

这将打印出左上角,但如何将其打印出来用于其他每个角落。

感谢。

编辑:

This is basically what I want. The original to the n = 4 (Ignore the n=2)

这就是为什么我基本上想用我的照片^^

2 个答案:

答案 0 :(得分:2)

您应该首先将原始图片缩小到1/4尺寸(有关详细信息,请参阅this StackOverflow answer - 使用at.scale(0.5, 0.5)代替2.0,2.0)。

然后循环缩小图像的x和y尺寸,并在"角落#34;使用x和y偏移设置像素的图像和4次:

for (int x = 0; x < scaledImageWidth; x++) {
    for (int y = 0; y < scaledImageHeight; y++) {
            imageTL.setRGB (x, y, scaledImagePixels[x][y]);
            imageTR.setRGB (x + scaledImageWidth, y, scaledImagePixels[x][y]);
            imageBL.setRGB (x, y + scaledImageHeight, scaledImagePixels[x][y]);
            imageBR.setRGB (x + scaledImageWidth, y + scaledImageHeight, scaledImagePixels[x][y]);
    }
}  

请注意,scaledImageWidth应该是原始图像宽度除以2,而scaledImageHeight应该是原始图像高度除以2.

答案 1 :(得分:1)

假设你有一个二维数组,每个像素具有原始图像中每个像素的像素颜色值,maxX和maxY作为尺寸或原始图像,遵循骨架代码应该理想地完成这项工作:

@page {
    size: XXXin YYYin
}