0

我有一个由许多较小的图像组成的大图像,我想对其进行切片和导出。这可以通过切片来完成,但不幸的是,这只会导出裁剪后的图像——我希望每次导出都存在整个画布,切片就位,这意味着我可以覆盖每个单独的导出并拥有原始图片,但是在单独的层中。

Fireworks GUI 无法做到这一点。如何以编程方式执行此操作?

4

1 回答 1

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)只是一种快速、肮脏的填零方法,绝不是最快的方法——但在这样的一次性脚本中,没问题。

于 2013-05-24T07:47:11.803 回答