所以我有一个包含图块的图像,每个图块宽约16像素,高。但是在每个瓷砖之间用透明间隔物隔开。 像这样:
但这很难看,并且让节目中的精灵显得很烦人,更不用说它浪费了宝贵的图像空间。有没有简单的(除了我手动使用Photoshop移动每个单独的瓷砖)的方式使它看起来像这样?
我查看了Photoshop宏,以及其他程序,我似乎找不到任何可以直接执行此操作的程序。 谷歌还建议我去家里depo并获得瓷砖填缝剂。
答案 0 :(得分:0)
试试这个代码段。如你所说,它假设瓷砖总是16像素。左上角位于正确的位置和单个像素间隙。该脚本假定文档将打开,并将包含您的图块的图层设置为活动图层。
#target photoshop
app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.PIXELS;
var gap = 1;
var tileSize = 16;
var doc = app.activeDocument.duplicate();
var sourceLyr = doc.activeLayer;
var xTilePosition = 0;
var yTilePosition = 0;
for (var x = 0; x < sourceLyr.bounds[2]; x = x+ tileSize + 1 ) {
for (var y = 0; y < sourceLyr.bounds[3]; y = y + tileSize + 1) {
if (x > 0 || y > 0) {
app.activeDocument = doc;
doc.activeLayer = sourceLyr;
selRegion = Array(Array(x, y),
Array(x + tileSize, y),
Array(x + tileSize, y + tileSize),
Array(x, y + tileSize),
Array(x, y))
doc.selection.select(selRegion);
var dx = x - (xTilePosition * tileSize);
var dy = y - (yTilePosition * tileSize);
doc.selection.translate(0 - dx, 0 - dy);
}
yTilePosition ++;
}
xTilePosition++;
yTilePosition = 0;
}