青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2016-8-8 11:32 | 显示全部楼层 |阅读模式
本帖最后由 ny445035655 于 2016-8-8 12:15 编辑 4 w; }  _- n$ A" C4 Z
- O3 R. t1 d' o0 n
       今天早上开发"快速面着色"小工具的时候,发现BlockStyler中不仅可以用colorPicker控件获得颜色的值,还以rGBColorPicker获得颜色的RGB值,研究了一下分享给大家!用"移位"和"位和"取值在单片机开发中经常遇到哦!                     UF_initialize();' r# }; v! I4 _' k
      int rgbValue=rGBColorPicker0->Value();//rGBColorPicker0为rGBColorPicker控件标识ID
  ~* Y; c5 @. E6 d      int blue=rgbValue&0xFF;//获得RGB中蓝色部分值,
5 |. c. E2 @& I$ }# ?9 d      int green=(rgbValue>>8)&0xFF;//获得RGB中绿色部分值7 Z3 l8 g& f. g& U- W- @- b
      int red=(rgbValue>>16)&0xFF;//获得RGB中红色部分值, h* [) i9 Z4 h# P5 e7 c" h
      UF_terminate();
' h, y, t/ p* o* h6 [+ d" j       然后用UF_DISP_ask_closest_color函数就取得颜色的Index值,并给对象着色啦!, Y, F4 b# i7 }, n
& |) k+ J$ H# G6 u2 p7 V
7 C! X% Z* ~& q4 W* `! S$ V

/ u# G1 N/ Z  d
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.
+ l; h5 E* u( _7 h# l2 L, o
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 18:52 , Processed in 0.067443 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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