以编程方式在Fireworks中切片图像并在整个透明背景上导出,以形成分层效果

时间:2013-05-24 07:47:12

标签: javascript cs4 fireworks

我有一个由大量较小的图像组成的大图像,我想要切片和导出。这可以通过切片完成,但不幸的是,这将仅导出裁剪后的图像 - 我希望每个导出都有整个画布,切片就位,这意味着我可以覆盖每个单独的导出并拥有原始图片,但是在单独的图层中。

使用Fireworks GUI无法完成此操作。我该如何以编程方式执行此操作?

1 个答案:

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