psd文件格式

时间:2011-03-18 17:31:11

标签: c++ image image-processing photoshop psd

我正在尝试查找psd文件格式的文档,以便我可以读取.psd,然后将各个图层保存为文件,并进行其他修改。有没有人知道.psd文件格式的任何文件? (仅供参考,我将用C ++编写)

如果有任何代码示例在C ++中加载.psd文件,那么我希望它们被链接。

(请不要把它变成“只使用XXX软件”。这不是家庭作业,也不是与此相关的任何事情。我这样做是因为我认为这将是一个有趣的项目。我会要求发帖如果发生这种情况,就要投票。)

5 个答案:

答案 0 :(得分:40)

Google Code上还有一些Objective-C代码(对于有C ++背景的人来说应该很容易理解),也是这个gem的来源,这似乎总结得很好:

  

此时,我想花点时间与您讨论Adobe PSD格式。   PSD不是一个好的格式。 PSD甚至不是一个糟糕的格式。这样称呼就是一个   侮辱其他不良格式,如PCX或JPEG。不,PSD是一种糟糕的格式。有   在这段代码上工作了好几个星期了,我对PSD的仇恨已经变得火热起来   燃烧着一百万个太阳的激情   如果有两种不同的做法,那么PSD会做两种不同的做法   地方。然后它将构成人类无法理解的三种方式,并做到这些   太。 PSD使不一致成为一种艺术形式。例如,为什么它会突然决定   这些特定块应该与四个字节对齐,并且这个对齐   应该包含在尺寸中吗?其他地方的其他块是未对齐的,   或与尺寸中包含的对齐对齐。但是,这里没有包括在内。   这三种行为中的任何一种都可以。一个理智的格式会选择一个。 PSD,   当然,使用所有这三个,甚至更多   试图从PSD文件中获取数据就像试图找到阁楼里的东西一样   你那个古怪的老叔叔,他在58岁时遭遇了一场怪异的淡水鲨鱼袭击   生日。对于明喻而言,最后的细节可能并不重要,但是   在这一点上,我花了很多时间为人们想象有趣的命运   负责这个文件格式的Rube Goldberg   早些时候,我试图掌握PSD文件格式的最新规范。去做这个,   我必须向他们申请许可才能让他们考虑发送   我这个神圣的大部头。这将涉及传真他们一些文件的副本或   其他,可能签了血。我只能想象他们这样做了   很难,因为他们对造成这种憎恶感到​​非常羞愧。一世   我自然不会轻易搞定这个程序,但如果我做了   所以,我会打印出规格的每一页,并将它们全部置于火上。   如果在我的力量范围内,我会收集这些规格的每一份副本并启动   他们在宇宙飞船上直接进入太阳。

     

PSD不是我最喜欢的文件格式。

正好让你受到警告。 :)

答案 1 :(得分:9)

这将是一个有趣的项目,.psd格式是。它融合了Adobe多年来在Photoshop中投入的所有功能。

我相信该规范可以来自Adobe,但它们不仅仅是向公众提供。你必须先和他们联系并先跳过一些篮球。

答案 2 :(得分:8)

Adob​​e编写的PSD文件格式规范就在这里;

http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/

上次更新时间:2012年6月。据我所知,这是关于PSD文件格式的最佳可用来源,即使是很少的错误。

首先,我建议首先将PSD划分为块。

享受!

答案 3 :(得分:0)

MyPSD :: CPSD类是一个C ++类,可以加载以Adobe Photoshop原生格式保存的图像。 http://www.codeproject.com/Articles/10398/Import-Adobe-Photoshop-psd-images

答案 4 :(得分:0)

MolecularMatters psd_sdk似乎是一个采用启发形式的好库:https://github.com/MolecularMatters/psd_sdk

它允许读取.psd文件中的图层以及更多内容。