2014-02-12 51 views
1

我試圖找到一個庫,允許我創建任意數量的渠道,如Photoshop允許它發生tiffs。如何編寫5+頻道TIFF?

具體來說,我需要編寫一個6通道TIFF(CMYK w/2通道來表示白色),但是所有的庫/腳本工具我都會在RBGA處找到最大值。

關於如何編程的任何想法?在我想

從下面@ BitBank的問題

詳細信息。我寧願不自己實施adobe tiff規範。

運行環境 Ubuntu的/在Windows Server

FOSS /付費?最好是OSS

語言? C/C++/C#/ Golang/Python/Java

+0

您還沒有提供很多細節:操作環境,語言,FOSS /付費解決方案,編碼能力等。編寫TIFF文件比閱讀它們容易得多;你有沒有考慮過自己做? – BitBank

+0

@BBBank由於您的問題而更新 – Micah

回答

1

這可以用一些工具(包括我自己的公司)來完成,但是你要面對的問題是「正確的」解決方案在TIFF領域並沒有太多意義。例如,您可以將通道數量設置爲任意數量,併爲額外樣本標記設置一組值,但您將使用未定義的值。那麼這裏有一個關於光度解釋標籤應該包含什麼的問題?這不是CMYK,規範中沒有任何東西適合它。

那麼PhotoShop是做什麼的?不知道我的頭頂,但我知道有一個ICC配置文件標籤可以包含定義頻道信息所需的所有信息,所以也許它是這樣的?當您參與創建TIFF規範並使工程支持您的自定義擴展時,您可以做出這樣的決定。你沒有這個。以下是我的觀點:你的奇怪的TIFF讓它變得瘋狂並落入我的一個客戶手中,他們然後說:「嘿! - 當你的軟件給我有趣的顏色/沒有圖像時我打開這個TIFF,我以爲你支持TIFF?「這通常來自不知道TIFF不是一種文件格式的客戶,而是一系列不同格式/壓縮格式,並且當您有一些大學項目使得一組灰色TIFF具有未歸一化浮點數據的通道值,並使用完全自定義的,未發佈的,未記錄的標記集來描述最小值和最大值,所以我浪費了幾天的時間試圖追蹤文件的來源併爲客戶編寫一個示例應用程序規範通道值並標準化文件。 GUH。

非常重要的建議:不要這樣做。

如果你選擇忽略我的非常重要的忠告和做的事,你應該做到以下幾點:

  1. 文件你如何定製TIFF內容
  2. 發佈該規範公開
  3. 發佈代碼,生成並使用它
  4. 設置一個software tag,它標識您和您的軟件並指向您的文檔,以便當我被卡住時不得不支持您的擴展sions,我至少可以在你的血統上投下灰色,最好有一個「修復」你的文件的路線圖。

這裏的,如果我是你,我會做什麼 - 分裂渠道成N個不同的灰色文件,並與該說明了如何把它們放在一起或額外的通道沿捆綁CMYK文件的XML文件捆紮在一起幾個單獨的TIFF文件。

+1

在TIFF v6規範的第16節中,Photometric解釋沒有CMYK值,但值5代表「分離 - 通常爲CMYK」。隨着InkSet 2(「不CMYK」),NumberOfInks等於通道數量和相應的InkNames數組(每個通道一個項目),我認爲你應該很好(根據規範)。但是,規範也非常明確,這些類型的文件是特定於設備的,並且「不應該用於通用圖像數據交換」*。 – haraldK