先把图片在ai创建马赛克,存成svg以后,用chrome打开svg,然后在console粘贴下面这段:
var R=document.getElementsByTagName("rect");
//获取矩形
var C={name:[],x:[],y:[]};
var brNum=0;
for(var i=0;i<R.length;i++){
//开始循环,从第一个到最后一个方格
C.name[i]=R[i].className.animVal;
//获取第几个颜色的几
C.x[i]=R[i].x.animVal.value;
//获取x坐标,然而并没用
C.y[i]=R[i].y.animVal.value;
//获取y坐标,用来判断一行多少个
brNum=C.y[i]==C.y[0]?brNum+1:brNum;
//如果现在这个方格和第一个方格到y一样,那这行到数量就加一,加到不一样为止
}
C.outputNum=function(n){
return C.name[n].replace("st","")
//等下输出到时候,自动把class到st替换掉
}
result="";
for(var j=C.name.length-1;j>=0;j--){
br=j!==C.name.length-1&&(j+1)%brNum==0?"<br>":"";
//先判断,如果不是第一行,而且是每一行到第一个,就先回车,不然不回车;
result+=br+C.outputNum(j)+"\t";
//上面判断好回车,这里就每个数字之间加上制表符,方便拿去ai用
}
document.write(result);
//输出,完事。
最后把出现的那堆数字,复制到ai粘贴,行距改成36,然后把原来到马赛克放大或者缩小,让每个矩形的大小变成36,最后对齐一下,保存。
为什么是36呢?因为制表符的单元格宽度默认是36🤷♂️
© leizingjiu | Powered by LOFTER