2010-12-13 58 views
3

我的一個項目,在它的核心包括添加文字到圖像,加工,從而給出一個背景圖像(B)的例子,在一些文字指定的字體,點大小和字體(A)在兩個合成在一起以產生(C): Example Image如何添加文本與CMYK ColorSpace的圖像在.NET 4

最終的結果是去與這些圖像來打印,所以背景正在使用的CMYK顏色空間和我需要將整個過程保留在CMYK內或打印時顏色看起來不對。 (注:優秀article on Color Spaces and .NET on CodeProject

我曾嘗試合成這些圖像一起幾種不同的方式:

  • System.Drawing中的一切隱含轉換成RGB
  • System.Windows.Media.Imaging - 無合成方法
  • System.XAML/WPF - 非常有希望但RenderTargetBitmap不PixelFormats.Cmyk32工作(引發ArgumentException)。

我已經看過,但沒試過第三方商業組件價格似乎開始高,繼續往上走:

這是可能的.NET 4嗎?

編輯: 因爲別人可能希望做一些稍微不同的,只是轉換任何格式Windows.System.Media.Imaging能夠加載到這裏CMYK是我用的代碼:

var bitmapConverter = new FormatConvertedBitmap(); 
bitmapConverter.BeginInit(); 
bitmapConverter.Source = sourceImage; 
bitmapConverter.DestinationFormat = PixelFormats.Cmyk32; 
bitmapConverter.EndInit(); 

爲了澄清上面的代碼轉換的圖像源到CMYK32(無透明性),但是如果要使用某些類(即RenderTargetBitmap通過上述的ImageSource將拋出異常)。

回答

1

如果你已經看過太多的SO,你可能已經看到了這些鏈接。但爲了以防萬一,以下是我發現的一些鏈接,可能對您有所幫助。

這裏是從這裏SO有關.NET中使用CMYK工作的鏈接:

Convert RGB color to CMYK?

具體來說它提到使用顏色配置文件和Windows Color Management APIs.

這裏是另外一個SO鏈接:

How to convert CMYK to RGB programmatically in indesign

一位回答者提到,沒有一個EXA在CMYK和RGB之間進行ct轉換。

這是一個關於合成2個CMYK圖像,無須轉換爲RGB鏈接:

The are any CMYK graphics library?

回答者建議使用他隸屬於一個商業產品。

+0

感謝您發佈這些內容,我環顧四周,發現了一些使用.NET轉換位圖格式的資源(在Google的問題中發佈了一個代碼示例),它是打印源圖像質量的關鍵保持CMYK格式。 – 2010-12-14 09:24:05

+0

我看了一下Atlasoft DotImage,「Pro」版本似乎做我想做的事情,但它的成本大約是3000美元。 – 2010-12-14 09:37:41

+0

請注意,從RGB/CMYK轉換爲不可逆 - 您將失去一些顏色信息。 – 2010-12-14 09:52:04