如何编写5+频道TIFF?

问题描述:

我试图找到一个库,允许我创建任意数量的渠道,如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

这可以用一些工具(包括我自己的公司)来完成,但是你要面对的问题是“正确的”解决方案在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