青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 671|回复: 1

[原创] NX二次开发中RGB颜色拾取器红/绿/蓝值的获取方法

[复制链接]
发表于 2016-8-8 11:32 | 显示全部楼层 |阅读模式
本帖最后由 ny445035655 于 2016-8-8 12:15 编辑
4 c: j  i1 ~, c, I$ D" u7 \, Z
; T$ }+ p  q' ~3 T       今天早上开发"快速面着色"小工具的时候,发现BlockStyler中不仅可以用colorPicker控件获得颜色的值,还以rGBColorPicker获得颜色的RGB值,研究了一下分享给大家!用"移位"和"位和"取值在单片机开发中经常遇到哦!                     UF_initialize();
( r+ L: J# L5 l, q8 H* r      int rgbValue=rGBColorPicker0->Value();//rGBColorPicker0为rGBColorPicker控件标识ID
; P; p1 O6 T- |. M- y& ?. x0 j      int blue=rgbValue&0xFF;//获得RGB中蓝色部分值,
: u8 J% C1 [$ u, [/ `7 t1 x      int green=(rgbValue>>8)&0xFF;//获得RGB中绿色部分值/ Z% H4 p# m$ K' Y6 v; [
      int red=(rgbValue>>16)&0xFF;//获得RGB中红色部分值
! e- o- Z9 W3 {$ W; P! m4 T      UF_terminate();
' ^/ t" U/ `: R+ `       然后用UF_DISP_ask_closest_color函数就取得颜色的Index值,并给对象着色啦!' [5 N  f, B3 r1 ~) n; A' ?; K

7 k9 I9 P, v6 o; W9 e4 \3 O: F& H: P

% q, E5 a( t- o! y
rgbToIndex.gif
 楼主| 发表于 2016-8-8 12:19 | 显示全部楼层
Specifies the RGB color as three bytes. Byte 2 is the red value, byte 1 is green, and byte 0 is blue. For example, hexadecimal FF7F00 is orange.

" D  s- L4 ]" L; A
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-11-16 12:06 , Processed in 0.050954 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表