一些转换器的用法和注意事项(四)——颜色设置相关的转换器

原文发布时间:2010-07-02

作者:毛毛虫

这部分说一下与颜色设置相关的几个转换器及使用时的注意问题。

PenColorSetter转换器

设置要素的画笔的颜色。

支持颜色的格式用设置的颜色渲染要素。画笔颜色决定了要素的点、线、弧、面边界和注记(标注)的颜色。

 

AreaFillColorSetter转换器

设置面要素的填充颜色。支持颜色的格式会渲染这个设置的颜色到面要素内部。

注意:如果输出的格式不支持面填充,这个转换器不起作用。

 

当对面要素设置颜色的时候,先使用PenColorSetter转换器还是先使用AreaFillColorSetter转换器,得到的最终结果都是相同的。如下,对某个面要素设置如下:

图片已丢失

转换完成后查看要素的属性,显示如下:


不过这个过程是有区别的,如果首先使用PenColorSetter转换器设置边界颜色,此时的输出要素的属性如下:


此时只有边界颜色,没有填充颜色,然后再使用AreaFillColorSetter转换器来设置要素面的填充颜色,就包括了我们设置的边界和填充颜色。

而先用AreaFillColorSetter转换器来设置要素面的填充颜色,输出的面的填充颜色仍然是随机的,只有在后面使用了PenColorSetter转换器设置边界颜色后,才会显示为我们设置的相应的面和边界的颜色。

 

RandomColorSetter转换器

设置每个输入要素的随机颜色。

参数Color to Set 指定了是否设置边界、填充或者都要设置:

当选择Outline 时,设置边界颜色:


选择Fill 时,设置多边形和洞的填充颜色:

图片已丢失

此时在属性中只有面的填充颜色属性没有边界属性。

设置为:Both (Offset) 时,边界和边界的颜色都设置,边界和填充的颜色稍微有些不同:


当设置为Both (Exact) 时,边界和填充的颜色都设置,且颜色完全相同:


NeighborColorSetter转换器

给相邻的面分配不同的颜色,所用的颜色总的数目保持最小。生成一个整数格式的Color ID属性(第一个color为0,第二个为1,依次类推)。非多边形几何(包括聚类和椭圆)被简单的去除,也就是会去除掉非多边形几何要素。

如果参数Set Pen and Fill Colors被设置为yes,面会基于默认的颜色模式来分配填充的颜色。否则,可能操作Color ID属性来提供颜色(例如,使用PenColorSetter 和 AttributeFilter转换器,然后在使用AreaColorSetters转换器设置的颜色)。如有一个图层,它的颜色是数据自带的,当Set Pen and Fill Colors被设置为no时,显示的效果如下:


当Set Pen and Fill Colors被设置为yes时,显示的效果如下:


当Coloring Algorithm被设置为Simple的时候,每个面使用第一个可得到的颜色设置面。一般只有一些颜色被使用,但是颜色的总数目不定。当Coloring Algorithm被设置为Five Color的时候,至多有五种颜色用在这个区域。





猜你喜欢

转载自blog.csdn.net/fmechina/article/details/80925256