写的一个小玩具,用来把一张图分割成九宫图,满足发图就想发九张的强迫症
package pictureDivide;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class NineZoneDiv{
public static void main(String[] args){
//imageIO或者fileIO能够读取图像
//BufferedImage创建一个实际的图像缓冲区,可以直接操作像素
//bufferedImage.getSbuImage返回由指定矩形区域定义的子图像。
//返回的 BufferedImage 与源图像共享相同的数据数组。
String scrImageFile = "poi.jpg";
String targetDir = "nineZornPoi";
BufferedImage img = null;
BufferedImage scrImage = null;
try {
scrImage = ImageIO.read(new File(scrImageFile));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int scrHeight = scrImage.getHeight();
int divHeight = scrHeight / 3;
int scrWidth = scrImage.getWidth();
int divWidth = scrWidth / 3;
System.out.println("width" + scrWidth);
System.out.println("height" + scrHeight);
String fileName = null;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
img = scrImage.getSubimage(j * divWidth, i * divHeight, divWidth, divHeight);
fileName = targetDir +"_" + i + "_" + j + ".jpg"; //文件名
File file = new File(fileName);
try {
ImageIO.write(img, "JPEG", file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("save" + i + j);
}
}
System.out.println("succes");
}
}