24小时热门版块排行榜    

查看: 1085  |  回复: 5

仙木映月

金虫 (正式写手)

[求助] C++ 如何用数组或者向量来引用颜色信息? 已有2人参与

最近开始用C++的GDI做一些事情。遇到的一个问题是,希望有几个固定的颜色可以方便用数组调用,可惜不知道怎样处理。

我有n多个图要画,这些图中,我需要画上固定的一三角形。三角形需要按绘图的顺序采用不同的颜色,所以我希望有一个颜色的数组,
这样我就可以用一个for函数保证每一幅图中三角形的颜色顺序是固定的了。

RGB却不算是数据类型,我定义了宏,但是不能按顺序应用。请问各位有没有遇到过类似的问题呢?
回复此楼
Hardtosay.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wujiadw

铜虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
仙木映月: 金币+1, 有帮助 2014-06-03 22:26:23
jjdg: 金币+1, 感谢参与 2014-06-04 00:48:27
#define RGB(r,g,b)          ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
2楼2014-05-30 12:00:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

仙木映月

金虫 (正式写手)

引用回帖:
2楼: Originally posted by wujiadw at 2014-05-30 12:00:46
#define RGB(r,g,b)          ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))

这条宏试了之后,只能从Colorreference到RGB的转换,但是如何定义一个颜色向量呢?

比如a[6]={red,blue,green,yellow,black,white};
Hardtosay.
3楼2014-05-30 12:41:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wujiadw

铜虫 (初入文坛)


jjdg: 金币+1, 感谢参与 2014-06-04 00:48:37
引用回帖:
3楼: Originally posted by 仙木映月 at 2014-05-30 12:41:48
这条宏试了之后,只能从Colorreference到RGB的转换,但是如何定义一个颜色向量呢?

比如a={red,blue,green,yellow,black,white};...

你的red,blue,green,yellow,black,white这些可以在宏定义里面定义
4楼2014-05-31 19:14:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

仙木映月

金虫 (正式写手)

引用回帖:
4楼: Originally posted by wujiadw at 2014-05-31 19:14:20
你的red,blue,green,yellow,black,white这些可以在宏定义里面定义...

实在宏里定义了,可是数组元素貌似不能用宏名。
Hardtosay.
5楼2014-06-03 22:26:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

★ ★ ★
仙木映月: 金币+3, ★★★很有帮助 2014-06-04 08:16:11
引用回帖:
5楼: Originally posted by 仙木映月 at 2014-06-03 22:26:11
实在宏里定义了,可是数组元素貌似不能用宏名。...

定义一个数组和一个枚举就行了。
比如 colortype c[5] ={…} enum {YELLOW,BLUE,CYAN,PINK,PURPLE}
然后可以这样引用:c[YEllow]

[ 发自手机版 http://muchong.com/3g ]
6楼2014-06-04 05:00:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 仙木映月 的主题更新
信息提示
请填处理意见