这个是个 3 * 3 的图片排版;
以后可能要做 100*100 的图片排版....
我想定义俩变量,一个 row , 一个Column,然后自动 for 出来 ,
因为我这个脑子不怎么够用,所以请大家帮帮了..
这是 x , 由 border 和 width 组成的 , 简称 b 和 w...
y 也同理...
x[0] = b ;
x[1] = b + w ;
x[2] = b * 3 + w ;
x[3] = b * 3 + w * 2;
x[4] = b * 5 + w * 2;
x[5] = b * 5 + w * 3;
x[6] = b * 7 + w * 3;
x[7] = b * 7 + w * 4;
上面的已经简化了:
for(var i=0;i<7;i++)
{
x[i]=b*(i%2==0?i+1:i)+w*Math.ceil(i/2)
}
for(var i=0;i<7;i++)
{
y[i]=b*(i%2==0?i+1:i)+h*Math.ceil(i/2)
}
这是图片左上角的坐标
var RightTop =
[
[x[0],y[0]], //第1行第1张图片 左上角
[x[2],y[0]], //第1行第2张图片 左上角
[x[4],y[0]], //第1行第3张图片 左上角
[x[0],y[2]], //第2行第1张图片 左上角
[x[2],y[2]], //第2行第2张图片 左上角
[x[4],y[2]],
[x[0],y[4]],
[x[2],y[4]],
[x[4],y[4]]
];
这是按照顺时针的四个点...
var aSelection =
[
[ [x[0],y[0]] , [x[1],y[0]] , [x[1],y[1]] , [x[0],y[1]] ], //第1行第1张图片 点[0],点[1],点[2],点[3]
[ [x[2],y[0]] , [x[3],y[0]] , [x[3],y[1]] , [x[2],y[1]] ], //第1行第2张图片 点[0],点[1],点[2],点[3]
[ [x[4],y[0]] , [x[5],y[0]] , [x[5],y[1]] , [x[4],y[1]] ], //第1行第3张图片 点[0],点[1],点[2],点[3]
[ [x[0],y[2]] , [x[1],y[2]] , [x[1],y[3]] , [x[0],y[3]] ], //第2行第1张图片 点[0],点[1],点[2],点[3]
[ [x[2],y[2]] , [x[3],y[2]] , [x[3],y[3]] , [x[2],y[3]] ], //第2行第2张图片 点[0],点[1],点[2],点[3]
[ [x[4],y[2]] , [x[5],y[2]] , [x[5],y[3]] , [x[4],y[3]] ], //第2行第3张图片 点[0],点[1],点[2],点[3]
[ [x[0],y[4]] , [x[1],y[4]] , [x[1],y[5]] , [x[0],y[5]] ],
[ [x[2],y[4]] , [x[3],y[4]] , [x[3],y[5]] , [x[2],y[5]] ],
[ [x[4],y[4]] , [x[5],y[4]] , [x[5],y[5]] , [x[4],y[5]] ]
];
我用js写了