以编程方式调整 PSD 的各个组的大小,然后在 C++ 中将它们渲染为 PNG

Programatically resizing individual Groups of a PSD, then rendering them to PNG in C++

我想知道是否可以从 C++ 读取 PSD 文件,以编程方式调整 1 个特定组的大小,然后将结果呈现为 PNG。到目前为止,我在此处找到了一些读取和呈现 PSD 文件 "as is" 的代码:http://www.codeproject.com/Articles/10398/Import-Adobe-Photoshop-psd-images

我预见到的问题是,按原样渲染 PSD 非常简单,但以编程方式调整组的大小需要更多的努力。

我看到的问题是 Photoshop PSD 文件 众所周知 难以阅读...参见 this poor soul

此外,您 link 使用的代码来自 2006 年,早于当前的 "Smart Objects" 和实时编辑,所以我对此表示怀疑将适用于最近的任何事情 - 尽管如果您只想阅读一些旧文件或不使用此类功能的特定项目的新的简单文件,您可能没问题。

我建议您将图层从 Photoshop 导出为 PNG,然后使用它。我的回答 可能会让您入门。

到目前为止,似乎没有图书馆可以做我想做的事。从 PSD 文件中读取合成预览很容易,正如我在问题中发布的代码项目 link 中所展示的那样,但是现在看来不可能处理单个组或图层,然后再次渲染合成预览。