【发布时间】:2012-09-27 23:57:57
【问题描述】:
如果我使用System.Drawing.Bitmap 创建位图,如何指定位图使用的颜色空间?另外,当我将图像保存为 jpeg 或 tiff 时,如何确保嵌入颜色配置文件?
【问题讨论】:
标签: .net image-processing
如果我使用System.Drawing.Bitmap 创建位图,如何指定位图使用的颜色空间?另外,当我将图像保存为 jpeg 或 tiff 时,如何确保嵌入颜色配置文件?
【问题讨论】:
标签: .net image-processing
我想我已经找到了答案。
色彩空间记录在图片的PropertyItems
它的 ID 为 40961,即它的 EXIF ID。
所以我假设将这个属性的一个实例添加到新创建的位图中会给图像一个色彩空间。
但是有一个大问题。 System.Drawing.Imaging.PropertyItem 类没有公共构造函数。所以不可能创建一个新的PropertyItem。它在documentation 中说,PropertyItems 仅用于访问现有图像元数据而不是创建元数据。那么如果我想创建一个全新的图像并为其分配一个带有PropertyItem 的色彩空间呢?
它还在文档中说,如果我想创建一个新的PropertyItem,我应该得到一个现有的PropertyItem,克隆它,编辑克隆,然后将克隆添加到PropertyItems。但是,如果我正在创建一个新图像,则不会有任何现有的PropertyItems。那么我应该如何添加一个声明颜色空间的PropertyItem?
【讨论】: