分割側コード
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import javax.imageio.ImageIO;
public class ImageDivided {
private InputStream inputStream;
public ImageDivided(InputStream inputStream) {
this.inputStream = inputStream;
}
public ArrayList<BufferedImage> GetDividedInto2(){
var ret = new ArrayList<BufferedImage>(2);
try{
var originalImage = ImageIO.read(this.inputStream);
var width = originalImage.getWidth();
var height = originalImage.getHeight();
var halfWidth = width / 2;
var leftHalfImage = originalImage.getSubimage(0, 0, halfWidth, height);
var rightHalfImage = originalImage.getSubimage(halfWidth, 0, halfWidth, height);
ret.add(leftHalfImage);
ret.add(rightHalfImage);
}catch(Exception e){
}
return ret;
}
}
使う側コード
import java.io.File;
import java.io.FileInputStream;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
public static void main(String[] args){
var imageDivided = new ImageDivided(new FileInputStream(画像ファイル));
var ret = imageDivided.GetDividedInto2();
var writers = ImageIO.getImageWritersByFormatName("jpeg");
var writer = (ImageWriter)writers.next();
var outputStream = ImageIO.createImageOutputStream(new File(出力ファイル1));
writer.setOutput(outputStream);
writer.write(ret.get(0));
outputStream = ImageIO.createImageOutputStream(new File(出力ファイル2));
writer.setOutput(outputStream);
writer.write(ret.get(1));
}