我很喜歡用Photoshop以一種可以識別圖層的方式創建分層的tif。我能夠create a multi-page tif,但Photoshop不會將頁面識別爲圖層。儘管可以使用Acrobat查看頁面。任何人都知道Photoshop如何存儲tif層數據以及如何使用Java生成這些數據?在Photoshop中使用創建分層的Tif與Java使用
謝謝。
我很喜歡用Photoshop以一種可以識別圖層的方式創建分層的tif。我能夠create a multi-page tif,但Photoshop不會將頁面識別爲圖層。儘管可以使用Acrobat查看頁面。任何人都知道Photoshop如何存儲tif層數據以及如何使用Java生成這些數據?在Photoshop中使用創建分層的Tif與Java使用
謝謝。
我研究這個我TIFF ImageIO plugin,而據我瞭解,在TIFF格式的方式Photoshop的存儲層的信息是完全私有的,而不是使用標準的TIFF機制,如多頁文檔利用所鏈接或嵌套IFDS(330/SubIFD
)或文件類型(254/NewSubFileType
)等
相反,它存儲層信息, 與該層的圖像數據沿,在Photoshop specific TIFF tag; 37724/ImageSourceData
,其類型爲UNDEFINED
(或「只是字節」)。幸運的是,該標籤的內容記錄在Adobe Photoshop® TIFF Technical Notes中。
此標記的內容始終以0結束的字符串"Adobe Photoshop Document Data Block"
開頭。其餘內容是各種Photoshop資源,由Photoshop 4字節資源標識符8BIM
標識,其後是每個單獨資源的4個字節的資源密鑰和4個字節的長度。
該塊中與Photoshop圖層相關的有趣資源是使用資源密鑰Layr
標識的。這是在Photoshop文件格式中記錄在Layer and Mask Information Section中的相同結構。
還有一個不同的標籤34377/Photoshop
,其中包含由Photoshop讀取和寫入的其他圖像資源。這也記錄在上述文件的Image Resources Section中。它確實包含了一些關於圖層的信息,但我不確定你需要寫多少。您可能需要使用「真實的東西」進行Photoshop安裝和測試。
我的代碼爲請閱讀這兩個結構的PSD ImageIO plugin,這可能值得一看,但它還不支持寫入。
當您可以編寫內容Photoshop TIFF標籤時,您應該能夠將它作爲TIFF IIOMetadata
的一部分傳遞給TIFFImageWriter
,寫入器會將其與您傳遞的任何其他元數據和像素數據一起寫入。所以,正如你所看到的,這些都是(大部分)記錄的,並且確實可以在Java中實現,但仍然不是完全微不足道的。
感謝您的研究,細節和鏈接。爲開始實施過程提供了一個很好的基礎。 – jonD02