需要处理的图片:
要从其中读取图片首先需要确定一下几个参数:
1.每个图标的宽和高
2.图标的间隔(一般来说都是上下左右同等间隔)
3.左上角起始的像素坐标。
获取以上参数的方法可以通过Windows 的画图软件来简单获取。
通过以上处理后,以上几个参数可以获取了,现在将上面的参数进行下命名:
小图标宽度:IconWidth
小图标高度:IconHeight
小图标间隔:margin
小图标起始坐标:OriginX,OriginY
小图标的行列:row,column
下面的算法的含义是:通过指定行列的方式,来获取指定图标
下面开始算法部分:(算法省略了界面实现部分)
//输入参数
int row=1,column=5;
//实现方法:
int OriginX=50,OriginY=10;//这两个为最开始图标的起始点
int IconHeight=140,IconWidth=140,margin=20;//图标高,宽,空白
BufferedImage bImage=ImageIO.read(new File("E://测试图标.jpg"));
int nextX,nextY;
nextX=OriginX+(IconWidth+margin)*(column-1);
nextY=OriginY+(IconHeight+margin)*(row-1);
bImage = bImage.getSubimage(nextX,nextY,IconWidth,IconHeight);
g2.drawImage(bImage, null, 100, 100);