2011-03-18 94 views
11

我正在嘗試查找psd文件格式的文檔,以便我可以在.psd中讀取,然後將各個圖層另存爲文件以及執行其他修改。有沒有人知道.psd文件格式中的任何文檔? (僅供參考,我將用C++編寫)psd文件格式

如果有任何代碼示例在C++中加載.psd文件,那麼我會很感激他們被鏈接。 (請不要把它變成「只使用XXX軟件」,這不是家庭作業,或者是與此相關的任何事情,我這樣做是因爲我認爲這將是一個有趣的項目,我會要求帖子將下降投票如果發生這種情況。)

+0

我會做的是尋找[開源](http://www.sourcecodeonline.com/list?q=psd_codec)版本的[this](http://www.ardfry.com/ PSD-編解碼器/)。編輯:等等,這是[一個](http://www.codeproject.com/KB/vista/PhotoshopPreviewHandler.aspx),如[我的數字生活]上看到的(http://www.mydigitallife.info/2007/04/01 /土坯的Photoshop PSD-預覽處理程序 - 免費下載/)。 – 2011-03-18 17:34:59

回答

9

這將是一個有趣的項目,該.PSD格式爲。它融合了Adobe多年來在Photoshop中的所有功能。

我相信這個規範可以來自Adobe,但他們不只是把它交給公衆。你必須聯繫他們並首先跳過一些籃球。

+0

我想你可以在這裏找到最新的規範http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ – northsea 2017-06-19 14:03:24

+0

@northsea自從我與.psd格式有關以來已經很多年了,它看起來他們已經決定,通過公開規範是沒有任何損失的。感謝您的鏈接。我的答案的第一部分仍然適用。 – 2017-06-19 14:25:23

37

還有上Google Code一些Objective-C代碼(應該是用C++背景的人容易理解的),也是這種寶石,這似乎很好地概括起來來源:

在這一點上,我想花點時間與您談談Adobe PSD格式。 PSD不是一個好的格式。 PSD甚至不是一個糟糕的格式。調用它會對其他不好的格式產生侮辱,比如PCX或JPEG。不,PSD是一種糟糕的格式。有 現在工作了幾個星期的這段代碼,我對PSD的討厭已經成長爲一場熾熱的火災 ,燃燒着百萬太陽的激情。
如果有兩種不同的做事方式,PSD會做兩種,在不同的 的地方。然後,它將構成另外三種不健全的人會想到的方式,並且也執行那些 。 PSD使不一致成爲一種藝術形式。爲什麼,例如,沒有突然決定 是這些特定塊應當與四個字節,並認爲這alignement 應該包括在大小?其他地方的其他區塊或者未對齊, 或與包含在大小中的對齊對齊。但是,這裏沒有包含它。 這三種行爲中的任何一種都可以。一個理智的格式將選擇一個。 PSD, 當然,使用所有三個,更多。
試圖從PSD文件中獲取數據就像試圖找到你的古怪的老叔叔的閣樓 誰在他的第58號 生日在一個怪異的淡水鯊魚襲擊中死亡的東西。最後的細節可能對於明喻的目的並不重要,但在這一點上我花了很多時間想象負責這個Rube Goldberg文件格式的人的有趣命運 。
此前,我試圖抓住PSD文件格式的最新規範。要做到這一點, 我必須向他們申請許可,才能讓他們考慮發送 這個神聖的書。這可能涉及到傳真給他們一些文件或其他可能簽署血液的文件。我只能想象他們讓這個過程很難,因爲他們對創造這種可憎的事物感到非常羞愧。I 自然不會輕易地通過這個程序,但如果我已經完成了 那麼,我會打印出規範的每一頁,並將它們全部着火。如果它在我的力量之內,我會收集這些規格的每一個副本,並將它們在太空飛船上直接發射到太陽下。

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

就這樣你被警告。 :)

+1

我以前見過這個報價,我相信每一個字。 – 2011-03-18 18:04:03