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

Java-将一个图像拆分为4个图像,java,image,Java,Image,所以基本上我有一个图像,我需要把它分割成4个较小的图像 我现在得到的只是图像打印在左上角,但我需要打印在右上角、左下角和右下角 我有两个for循环,通过图像的每个像素 这是只打印左上角的代码 setRGB(x/2,y/2,everypixel) “everypixel”只是图像中的像素 这将只打印左上角,但我如何打印它为每一个其他角落 谢谢 编辑: 这就是为什么我基本上想处理我的图片^^你应该先将原始图像缩小到1/4大小(请参阅以.scale(0.5,0.5)代替2.0,2.0) 然后循环缩

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

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

我有两个for循环,通过图像的每个像素

这是只打印左上角的代码

setRGB(x/2,y/2,everypixel)
“everypixel”只是图像中的像素

这将只打印左上角,但我如何打印它为每一个其他角落

谢谢

编辑:


这就是为什么我基本上想处理我的图片^^

你应该先将原始图像缩小到1/4大小(请参阅以.scale(0.5,0.5)代替
2.0,2.0

然后循环缩小图像的x和y维度,并在“角”图像中设置4次x和y偏移的像素:

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]);
    }
}  
for(int x=0;x

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

假设您有一个二维数组everypixel,该数组具有原始图像中每个像素的像素颜色值,并且maxX和maxY作为维度或原始图像,理想情况下,以下骨架代码可以完成此工作:

// Top-Left sub-image (imageTL)
for (int x = 0; x < maxX/2; x++) {
    for (int y = 0; y < maxY/2; y++) {
            imageTL.setRGB (x, y, everypixel[x][y]);
    }
}

// Top-Right sub-image (imageTR)
for (int x = maxX/2; x < maxX; x++) {
    for (int y = 0; y < maxY/2; y++) {
            imageTR.setRGB (x - maxX/2, y, everypixel[x][y]);
    }
}

// Bottom-Left sub-image (imageBL)
for (int x = 0; x < maxX/2; x++) {
    for (int y = maxY/2; y < maxY; y++) {
            imageBL.setRGB (x, y - maxY/2, everypixel[x][y]);
    }
}

// Botton-Right sub-image (image BR)
for (int x = maxX/2; x < maxX; x++) {
    for (int y = maxY/2; y < maxY; y++) {
            imageBR.setRGB (x - maxX/2, y - maxY/2, everypixel[x][y]);
    }
}
//左上方子图像(imageTL)
对于(int x=0;x
我不确定我是否理解了这个问题。你想把一张X-by-Y大小的图片剪切成四张X/2-by-Y/2大小的图片吗?是的,基本上,就像一张完整的图片(X-by-Y)被整个图片(X-by-Y)分割成四张更小的图片。我希望这是有意义的。我在常规帖子中添加了我想要的图像。我测试了它,但这只是打印出原始图像的左上角。我想要原始图像,但在四个不同的角落。你想将原始图像缩小到1/4大小吗?我在常规帖子上添加了一个图像,请查看,这基本上就是我想要的。非常感谢,我得到了它,它与你的解决方案有点不同,但它帮助了我。谢谢,非常感谢。