如何在Photoshop(或ImageMagick等免费软件)中批量转换具有现有剪切路径的图片为白色背景的jpeg



这里更详细地说:它们是TIFF图像,有一个路径-这是一个剪切路径-但仍然有它们的背景,由于某些原因。

有成百上千的选择,所以我不能打开它,选择路径->制作选择->反向选择->填充选择用白色…

我试着做一个Photoshop的动作,我可以把它用作批处理模式下可用的动作。它没有工作,似乎对"action"模块来说太复杂了,或者我做错了。

还试图为"ImageMagick"制作一个脚本,在我最终有了正确的参数之后,它工作了许多图片,但有趣的是,并不是所有的-尽管它们都是一样的。所有的剪贴路径从Adode Photoshop,保存为TIFF图片。

如果有人是ImageMagick的专业人士,我可以在这里发布这个脚本,如果我在这里做错了什么,你可以评论。

希望有人能帮忙。请只提供免费的可能性,如ImageMagick或可以用Photoshop本身完成!

我也在用Python或Shellscript编写脚本,例如,任何基于它的东西也可以-但我搜索了库,没有发现Python:/

剪切路径不会改变图像在Photoshop中的表现:它只影响当你把它放在inDesign/Illustrator/等

但是如果你仍然想用白色填充剪贴路径以外的所有内容,你可以使用下面的脚本:

(function() {
    var sourceFolder = Folder.selectDialog("choose folder");
    fileList = sourceFolder.getFiles("*.tif");
    for (i = 0; i < fileList.length;i++) {
        open(fileList[i]);
        var doc = activeDocument;
        try {
            var workPath = activeDocument.pathItems[0].name
        } catch (e) {
            alert(e);
            return
        }
        loadSelection(workPath)
        doc.selection.invert();
        var white = new SolidColor;
        white.gray.gray = 0;
        doc.selection.fill(white)
        doc.selection.deselect();
        doc.close(SaveOptions.SAVECHANGES)
    }
    function loadSelection(name) {
        var desc = new ActionDescriptor();
        var ref = new ActionReference();
        ref.putProperty(c2t("Chnl"), c2t("fsel"));
        desc.putReference(c2t("null"), ref);
        var ref1 = new ActionReference();
        ref1.putName(c2t("Path"), name);
        desc.putReference(c2t("T   "), ref1);
        desc.putInteger(c2t("Vrsn"), 1);
        desc.putBoolean(s2t("vectorMaskParams"), true);
        executeAction(c2t("setd"), desc, DialogModes.NO);
    }
    function c2t(c) {
        return charIDToTypeID(c)
    }
    function s2t(c) {
        return stringIDToTypeID(c)
    }
})()

最新更新