问题描述:
MapGIS系统库中,颜色库以编号组织和管理不同颜色,仅仅通过颜色编号无法明白在系统库中对应的颜色,同时也无法通过已知颜色获取颜色库中的编号,那么在二次开发过程中,该如何实现二者之间的转换以及如何对颜色库进行扩展呢?
解决思路:
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获取颜色编号:
2、向颜色库中添加自定义颜色: