请问java是如何实现拼图图片的加载的,也就是图片是如何分割成小块的?请详细说明。谢谢,最好有代码。
int desthe height){
尝试{
图像img
图像过滤器cropFilter
//读取源图像
BufferedImage bi = ImageIO.read(新文件(srcImageFile));
int src width = bi . get height();//源地图宽度
int src height = bi . getwidth();//源地图的高度
if(src width & gt;destWidth & amp& ampsrcHeight & gtdestHeight) {
image image = bi . getscaledinstance(src width,srcHeight,
形象。SCALE _ DEFAULT);
destWidth = 200//切片宽度
desthe height = 150;//切片高度
int cols = 0;//切片的水平数量
int rows = 0;//切片的纵向数量
//计算水平和垂直切片数。
if (srcWidth % destWidth == 0) {
cols = src width/destWidth;
}否则{
cols =(int)math . floor(src width/destWidth)+1;
}
if (srcHeight % destHeight == 0) {
rows = src height/dest height;
}否则{
rows =(int)math . floor(src height/desthe height)+1;
}
//循环创建切片
//改进思路:多线程可以加速切割吗?
for(int I = 0;我& lt行;i++) {
for(int j = 0;j & ltcolsj++) {
//四个参数分别是图像起点的坐标以及宽度和高度。
//即:CropiMageFilter (int x,int y,int width,int height)
crop filter = new CropImageFilter(j * 200,i * 150,
destWidth,destHeight);
img = Toolkit.getDefaultToolkit()。创建图像(
新建FilteredImageSource(image . getsource(),
crop filter));
buffered image tag = new buffered image(destWidth,
夜幕降临了。TYPE _ INT _ RGB);
graphics g = tag . get graphics();
g.drawImage(img,0,0,null);//画缩小的图。
g . dispose();
//输出为文件
ImageIO.write(标签,“JPEG”,新文件(描述目录
+ "pre_map_" + i + "_" + j +"。jpg "));
}
}
}
} catch(异常e) {
e . printstacktrace();
}
}