我有一个由大量较小的图像组成的大图像,我想要切片和导出。这可以通过切片完成,但不幸的是,这将仅导出裁剪后的图像 - 我希望每个导出都有整个画布,切片就位,这意味着我可以覆盖每个单独的导出并拥有原始图片,但是在单独的图层中。
使用Fireworks GUI无法完成此操作。我该如何以编程方式执行此操作?
答案 0 :(得分:0)
首先创建一个白色矩形并将其放在要切片的第一个点上。选择它们并选择Modify -> Mask -> Group as Mask
。此时,请确保您的画布也是透明的。现在,运行以下代码(我使用Fireworks Console):
for (y=0;y<14;y++){
for (x=0;x<20;x++) {
dom.exportTo("file:///C|/mypath/img/" + ("00"+y).slice(-2) + ("00"+x).slice(-2) + ".png", null);
if (x == 19) {
offsetX = -475;
if (y == 6) {
offsetY = 425;
} else {alert('y is 25');
offsetY = 25;
}
} else {
offsetX = 25;
offsetY = 0;
}
dom.moveElementMaskBy({x: offsetX, y: offsetY});
}
}
注意:这里的循环是根据我的需求定制的 - 你可以随意移动它,即使循环中有一个deltas
({x: offsetX, y: offsetY}
数组。还要注意("00"+y).slice(-2)
只是一种快速,脏的零填充方法,绝不是最快的方法 - 但是在像这样的一次性脚本中,没问题。