【问题标题】:Export Multiple PSD Layer file to PNG while applying tint effect to each layer将多个 PSD 图层文件导出为 PNG,同时对每个图层应用色调效果
【发布时间】:2015-04-20 07:33:43
【问题描述】:

我们有以下 PSD https://app.box.com/s/rf514j3wnic1xkt6y1q3b5qnk0zds2rl

这是一个透明的 PSD,带有一个用于环形金属的基础层。

每个单独的石头都有额外的层。

类似https://app.box.com/s/i8lhshbl27pvjmmczjq2bhla4mzw9cwn 还有这个

我们希望能够根据用户输入将色调应用到每个单独的石头层,并将最终图像导出为 PNG 文件。让用户能够根据自己的喜好设计戒指。

现在我想弄清楚实现此功能的最佳方法是什么?

我们希望在 .net 中生成服务器端的图像,以便共享。

解决此问题的最佳方法是什么。我正在考虑使用像 imagemagick 这样的图像库来转换图像。 但是我找不到任何可以在将 PSD 文件转换为另一种文件格式之前更改多个图层的示例。

任何关于实现这一目标的方法的示例或建议都会有很大帮助。

【问题讨论】:

    标签: image-processing imagemagick png psd image-conversion


    【解决方案1】:

    编辑分层的 PSD 文件并不容易。我建议您将戒指和每个宝石层保存为单独的 PNG 文件。然后你可以用 ImageMagick 做一些事情:

    #!/bin/bash
    convert ring.png                            \
       \( layer-1.png \( +clone +level-colors red       \) -compose Multiply   -composite \) -compose overlay -composite \
       \( layer-2.png \( +clone +level-colors green     \) -compose VividLight -composite \) -compose overlay -composite \
       \( layer-3.png \( +clone +level-colors blue      \) -compose LinearBurn -composite \) -compose overlay -composite \
       \( layer-4.png \( +clone +level-colors "#ffff00" \) -compose Saturate   -composite \) -compose overlay -composite \
       result.png
    

    给你一个这样的PNG文件:

    您可能想尝试混合模式,我只是尝试了一些看起来隐约合眼的模式。如果您想要所有可用混合模式的列表,您可以这样做:

    identify -list compose
    Atop
    Blend
    Blur
    Bumpmap
    ChangeMask
    Clear
    ColorBurn
    ColorDodge
    Colorize
    CopyBlack
    CopyBlue
    CopyCyan
    CopyGreen
    Copy
    CopyMagenta
    CopyOpacity
    CopyRed
    CopyYellow
    Darken
    DarkenIntensity
    DivideDst
    DivideSrc
    Dst
    Difference
    Displace
    Dissolve
    Distort
    DstAtop
    DstIn
    DstOut
    DstOver
    Exclusion
    HardLight
    HardMix
    Hue
    In
    Lighten
    LightenIntensity
    LinearBurn
    LinearDodge
    LinearLight
    Luminize
    Mathematics
    MinusDst
    MinusSrc
    Modulate
    ModulusAdd
    ModulusSubtract
    Multiply
    None
    Out
    Overlay
    Over
    PegtopLight
    PinLight
    Plus
    Replace
    Saturate
    Screen
    SoftLight
    Src
    SrcAtop
    SrcIn
    SrcOut
    SrcOver
    VividLight
    Xor
    

    我还按名称指定了一些颜色,并按十六进制指定了一种颜色,因此如果您愿意,可以查看如何这样做。

    P.S.如果您将所有图稿保存为 PSD 文件,您始终可以使用 Adob​​e 的 ExtendScript 脚本将各个图层导出为单独的 PNG 文件,只需按一下键...

    PPS ImageMagick 可以从 PSD 文件本身中提取图层,但是我从您的文件中提取了图层并且它们的大小与背景图像,我找不到它们相对于它的正确位置。如果您了解图层的创建方式以及它们是否可以制作成相同的大小并与背景对齐,您可以将我的示例中的layer-n.png 替换为PhotoshopFile.psd[n]

    P.P.P.S. 如果你想在 .NET 中做这个服务器端,你应该看看 ImageMagick 的 .NET 库,可以在这里找到:https://magick.codeplex.com/。如果您在将上述命令翻译成 C# 时需要帮助,您可以在讨论页面上提问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 2012-06-01
      相关资源
      最近更新 更多