Question

Est-il possible de spécifier CMJN les couleurs directement dans un document XAML?

préfixer avec caractère # va créer des couleurs RVB, mais comment spécifier une couleur CMJN?

Quelques notes:

  1. La question est pas sur la conversion CMJN en RVB, mais d'utiliser CMJN réel
  2. Le but est de permettre généré XPS documents (en utilisant System.Windows.Xps.Packaging par exemple) voir la couleur CMYK et générer des codes de couleur comme « ContextColor /swopcmykprofile.icc a, b, c, d, e » pas "#aarrggbb"

J'ai essayé de définir des couleurs CMJN en utilisant ColorContext sans succès.

Était-ce utile?

La solution

OK à nouveau! Il est avéré être beaucoup plus facile que ce que je pensais: CMJN est directement utilisable dans XAML:

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

Autres conseils

OK! J'ai trouvé la réponse:

La façon dont WPF utilise des modèles de couleurs est par constructeur statique System.Windows.Media.Color FromValues() et l'introduction d'un profil de couleur:

Le code suivant, par exemple:

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

crée 100% couleur cyan.

Les profils peuvent être téléchargés à partir http://www.eci.org/doku .php id = fr: début

Je l'ai testé cette solution avec XpsDocumentWriter et je confirme que cela crée le code couleur CMJN correct.

Pour XAML il est juste la question de la construction d'un IValueConverter qui convertit quelque chose comme "~ C, M, Y, K" (comme #RRVVBB pour RGB) à un réel couleur CMJN.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top