【问题标题】:Pen color/style笔颜色/样式
【发布时间】:2013-05-14 21:38:14
【问题描述】:

在 C# 中,我使用以下行定义了一支笔,但我无法在 C++ 中设置类似的东西。我在 C++ 中尝试了几个选项来选择 Color 对象,但到目前为止还没有运气。我主要对选择颜色感兴趣 - Color.DarkGray - 不想指定我自己的 ARGB 值。

var pen = new Pen(Color.DarkGray) { DashStyle = DashStyle.DashDot }; 

在 C++ 中,我可以这样定义,但想知道是否可以直接使用模式 Color.DarkGray 而非 RGB 值进行定义。

Pen pen(Color(255,169,169,169),1);  //DarkGray
pen.SetDashStyle(DashStyleDashDot);

【问题讨论】:

  • 预定义的颜色名称只是 .NET 的一项功能。如果 C++ 程序员遇到的墙壁被漆成那种颜色,他们就不会认出 Teal,他们使用数字。使用参考源或反编译器查看这些数字。
  • 汉斯 - 感谢您的回复。我现在也在 C++ 中对这些值进行硬编码。将继续这种方式,直到找到任何其他优雅的选项来定义我可以直接使用的 ARGB 颜色参考。

标签: c++ gdi+


【解决方案1】:

颜色在 C++ 中的定义与在 C# 中的定义完全相同(AFIAK,C# System.Graphics 无论如何只是 C++ 函数的包装)。您需要做的就是:

Pen pen(Color::DarkGray, 1);
pen.SetDashStyle(DashStyleDashDot);

这不是你想要做的吗?如果你想要完整的列表,颜色都在 GdiPlusColor.h 中定义,但它与我认为的 C# 版本相同。

【讨论】:

  • 谢谢红眼。是的 - 你的解决方案是完美的!
猜你喜欢
  • 2010-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多