我的一個項目,在它的核心包括添加文字到圖像,加工,從而給出一個背景圖像(B)的例子,在一些文字指定的字體,點大小和字體(A)在兩個合成在一起以產生(C): 如何添加文本與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)。
我已經看過,但沒試過第三方商業組件價格似乎開始高,繼續往上走:
- Graphics Mill(截至〜US $ 1800年12/2010)
- Atalasoft DotImage (〜2010年12月爲3300美元)
這是可能的.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將拋出異常)。
感謝您發佈這些內容,我環顧四周,發現了一些使用.NET轉換位圖格式的資源(在Google的問題中發佈了一個代碼示例),它是打印源圖像質量的關鍵保持CMYK格式。 – 2010-12-14 09:24:05
我看了一下Atlasoft DotImage,「Pro」版本似乎做我想做的事情,但它的成本大約是3000美元。 – 2010-12-14 09:37:41
請注意,從RGB/CMYK轉換爲不可逆 - 您將失去一些顏色信息。 – 2010-12-14 09:52:04