有没有办法直接在XAML文档中指定 CMYK 颜色?
为它们添加#字符前缀将创建RGB颜色,但如何指定CMYK颜色?
一些注意事项:
我尝试使用ColorContext定义CMYK颜色但没有任何成功。
答案 0 :(得分:7)
再次确定! 结果比我想象的容易得多: CMYK可直接在XAML中使用:
<Grid Background="ContextColor file://C:/WINDOWS/system32/spool/drivers/color/EuroscaleCoated.icc 1.0,0.0,0.0,1.0,1.0">
答案 1 :(得分:6)
OK!我找到了答案:
WPF使用颜色模型的方式是System.Windows.Media.Color
的静态构造函数FromValues()
并引入颜色配置文件:
以下代码,例如:
var c = Color.FromValues(
new float[] {1.0f,0.0f,0.0f,0.0f } ,
new Uri("file://C:/ICCProfile.icc", UriKind.Absolute));
创建100%青色。
可以从http://www.eci.org/doku.php?id=en:start
下载个人资料我使用XpsDocumentWriter测试了此解决方案,并确认它创建了正确的CMYK颜色代码。
对于XAML,只需要构建一个IValueConverter
,将“〜C,M,Y,K”(RGB的#RRGGBB)转换为真实 CMYK颜色。