2012-02-17 150 views
6

簡而言之:我想爲圖像分配ICC顏色配置文件而不應用它。將ICC顏色配置文件分配給C#中的圖像

更多信息: 在我的公司,我們需要將一個多層的pdf文件合併到一個圖層中。爲此,我們將pdf頁面合併到圖像中,然後將圖像保存爲pdf。但在創建圖像的過程中,圖像的顏色配置文件會丟失。如果我們在C#中應用顏色配置文件,配置文件將從Device RGB(.NET的默認輸出)轉換爲sRGB_IEC61966-2-1_no_black_scaling.icc配置文件。在轉換過程中,一些顏色會發生變化我們不需要應用顏色配置文件,而是分配它。意思是沒有顏色被轉換。

有誰知道如何做到這一點?提前致謝。

回答

6

在開始處理位圖之前(即在開始各個PDF組件的佈局之前),請確保位圖已應用目標ICC配置文件。你說你的個人照片中嵌入了所需的個人資料,而這在轉換過程中正在失去。要保留個人資料,請確保您使用以下負載方法,它尊重任何顏色配置文件信息:

http://msdn.microsoft.com/en-us/library/4sahykhd.aspx

您可以使用此第一圖作爲目標的組成工作,然後再導出。它應該保留原始的ICC配置文件。

或者,您可以使用FreeImage或ImageMagick庫來顯式管理顏色配置文件。他們都有.NET包裝,並允許剝離/應用的ICC配置文件:

Free Image Library

Image Magick Command-Line Profile Options

Image Magick .NET Wrapper

我希望這有助於。

+0

我使用Aspose.Pdf.Kit將PDF頁面轉換爲System.Windows.Image,並且該功能不提供保留顏色配置文件的選項。但我目前正在研究你建議的圖書館。 – SynerCoder 2012-02-24 13:27:23

+0

這個(免費圖像庫)解決了我問的問題,但現在我有另一個,我會在17個小時內獎賞賞金。 – SynerCoder 2012-02-24 17:23:31

+0

@SynerCoder - 圖書館幫助很棒。我保持自己做的更多的意義,因爲它看起來非常靈活。對不起,你已經提出了一個新的問題,雖然:( – 2012-02-24 17:53:55

相關問題