2011-01-28 19 views
8

CMYKのカラーをXAMLドキュメントで直接指定する方法はありますか?WPF/XAMLでのCMYKカラーの使用

接頭辞に#を付けるとRGBカラーが作成されますが、CMYKカラーを指定するにはどうすればいいですか?

いくつかの注意:

  1. 質問は目的が生成さXPS System.Windows.Xpsを使用して文書を(できるようにすることです
  2. 本当のCMYKを使用するのではなく、RGBにCMYKからの変換についてではありませんない私が試みた

"#aarrggbb" と "EをContextColorは、B、C、Dを/swopcmykprofile.icc" CMYKなどの色を参照としてカラーコードを生成する)、例えば.Packaging ColorContextを使用してCMYKカラーを定義します。

+0

あなたがこの方法でXPSドキュメントを作成するのであれば、それは正しいCMYKのXPSドキュメントのですか? – Alireza

+1

はい、XPSドキュメントはiccファイルを内部的に格納し、すべての色の参照はそのファイルになります。 –

答えて

7

もう一度OK! それはしかし、私はよりもはるかに容易であることが判明: CMYKはXAMLで直接使用可能です:

<Grid Background="ContextColor file://C:/WINDOWS/system32/spool/drivers/color/EuroscaleCoated.icc 1.0,0.0,0.0,1.0,1.0"> 
+0

これらのCMYK値をプログラムでどのように取得しますか?変換されたRGBだけでなく、scRGB値とプロファイルuriにアクセスすることができるようです。 – Alireza

+0

それを自分で見つけました: 'Color.GetNativeColorValues()' – Alireza

+0

これはPDFにも印刷されましたか?作成されたPDFファイルはカラーチャンネルを尊重しないため、たとえば、黒はすべてのチャンネルのPDFになります。これについて何か知っていますか? XPSを作成してPDFに印刷しても、その結果でもすべてのインクが黒で使用されます。 – Alireza

6

OK!

var c = Color.FromValues(
       new float[] {1.0f,0.0f,0.0f,0.0f } , 
       new Uri("file://C:/ICCProfile.icc", UriKind.Absolute)); 

が作成:例えば、

次のコード

WPFがSystem.Windows.Media.Colorの静的コンストラクタFromValues()とカラープロファイルを導入することによって、色モデルを使用する方法:私は答えを見つけることが100%シアン色。

プロファイルはhttp://www.eci.org/doku.php?id=en:start

からダウンロードすることができます私はXpsDocumentWriterで、このソリューションをテストし、私はそれが正しいCMYKカラーコードを作成することを確認します。

XAMLの場合、それは本当の CMYKカラーに(RGB用#RRGGBBなど) "〜C、M、Y、K" のようなものを変換IValueConverterを構築するだけです。

関連する問題