在SuperMap iObjects Java 产品包的Bin目录下,打开该目录下的SuperMap.xml文件,其中的true标签为透明值设置的“开关”。
当IsGraphicsAlphaEnable设置为true时,颜色透明值设置可用;为false时,颜色透明值设置无效。默认情况下,该标签值为true。
默认情况下,颜色透明值设置是全局可用的,而有些图层是没有使用颜色透明值的,所以,我们提供了图层级别的颜色透明值设置开关,从而对这些图层关闭其颜色透明值设置,可以有效地提升地图性能,尤其对于影像图层,关闭颜色透明值设置后,性能提高明显。
图层级别的颜色透明值设置开关由SuperMap iObjects Java API控制,即Layer. IsGraphicsAlphaEnable属性,该属性值为true时,颜色透明值设置可用;为false时,颜色透明值设置无效。默认情况下,该属性值为true。
默认情况下,颜色透明值设置是全局可用的,但有时我们的地图或者地图某些图层中并没有使用颜色透明效果,此时我们如果关闭颜色透明值设置可以获得性能的提升。
例如:如果地图中有影像,并且该地图没有设置颜色透明效果,那么关闭颜色透明值设置可以提升地图的绘制效率和操作效率。
下面对某地区的影响数据的几个比例尺进行显示效率的性能分析,分别开启和关闭IsGraphicsAlphaEnable值,其统计报告如下图所示。可以看出IsGraphicsAlphaEnable值设置为false后,即关闭颜色透明值设置,影响数据的刷新效率明显提升。
下图为待测试的影像数据:
下面两幅图分别为:IsGraphicsAlphaEnable值为false时,某一个比例尺下的影像地图刷新所耗时情况以及多个比例尺下的影像显示的耗时情况:
下面两幅图分别为:IsGraphicsAlphaEnable值为true时,某一个比例尺下的影像地图刷新所耗时情况以及多个比例尺下的影像显示的耗时情况:
另外,如果地图中的文字或者文本图层需要使用MacTye进行文字渲染,那么你需要关闭颜色透明值设置,该渲染才生效。
如果您使用了SuperMap GIS 8C版本进行地图制作,并且地图中使用的半透明颜色的设置,那么如果使用低于8C版本打开该数据后,使用了颜色透明值设置的要素其颜色值将显示错误如下图所示。
下图为使用 8C版本编辑地图绿地颜色,并设置填充颜色透明值为80%:
下图为使用低于8C版本打开上述地图后的效果,使用半透明效果的绿地区域颜色发生错误: