桌面GIS

【.NET桌面二次开发】系统库操作--颜色库NO.003

文章
头像
发布时间:2021-09-14 14:26:51
120062
0
0

问题描述:

MapGIS系统库中,颜色库以编号组织和管理不同颜色,仅仅通过颜色编号无法明白在系统库中对应的颜色,同时也无法通过已知颜色获取颜色库中的编号,那么在二次开发过程中,该如何实现二者之间的转换以及如何对颜色库进行扩展呢?

image.png

解决思路:

1、如何通过颜色编号获取RGB值或CMYK值:

ColorLibrary对象GetColorByNo()方法-->Color对象-->GetRGB()或GetCMYK()

2、如何通过RGB或CMYK获取对应颜色在颜色库中的编号:

ColorLibrary对象FindNearColorNoByRgb(byte r,byte g,byte b)方法或FindNearColorNoByCmyk(byte c,byte m,byte y,byte k)方法
以上两种方法在颜色库中没有正好对应的颜色时,会返回与输入颜色值最相近的颜色编号

3、如何向颜色库中添加自定义颜色:

创建Color对象-->SetRGB()或SetCMYK()-->ColorLibrary对象AddColor()方法

实现代码:

1、 获取颜色RGB值与通过RGB获取颜色编号:

image.png

2、向颜色库中添加自定义颜色:

image.png



评论区
暂无评论
暂无评论,快来抢占第一个沙发吧~
发布评论