Java拼图游戏
前言
我有一张图片要作为拼图游戏的素材,然而我不会Photoshop等图片制作工具,于是用Java封装的图片工具类进行切割图片(这样比较装X QAQ),这里需要导入BufferedImage以及IO流File这两个包装类
代码如下:
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
class 图片切割 {
public static boolean cutImage(File sourcePath, int cutNumber, String savePath) {
try {
BufferedImage image = ImageIO.read(sourcePath); //通过io流读入一张图片到缓冲区
int Image_Width = image.getWidth();
int Image_Height = image.getHeight();
int width = Image_Width / cutNumber;
int height = Image_Height / cutNumber;
for(int i=0;i<cutNumber;i++) {
for(int j=0;j<cutNumber;j++) {
ImageIO.write(image.getSubimage(j*width, i*height, width, height), "jpg",
new File(savePath+"\\"+(i*cutNumber+j+1)+".jpg"));
}
}
return true;
}catch(Exception e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
cutImage(new File("ImageElem\\Index_01.jpg"), 3 ,"ImageElem\\Elem_1");
}
}
原始图片:
切割后:
总结:
1. 用整除的方法得到的数可能会有所误差,这都是得到的图片就可能不完整或者重复,暂时还不明白这事怎么解决!
2. 这样的类其实可以封装成一个工具类,方便以后的使用