您的位置:GIS门户网 GIS应用 正文
GIS网内容搜索
GIS网热门内容
GIS网推荐内容
GIS网最新内容
提出意见和建议

面状符号图片填充和渐进色填充的实现


        地图符号在地图中作用是不言而喻的,地图符号的开发也是GIS平台的重要一部分,也是比较难的。本文对写出了面状符号的图片填充和渐变色填充的实现方法。也许我的思路不是最好的。
       熟悉ArcMap的都知道它有着丰富的地图符号库,其地图符号制作器采用目前最先进的符号制作与组合思想,功能很强大。许多GIS软件都以此为模板开发自己的符号库软件。当然我们也是,毕竟站在巨人肩膀上看得更远。
       面状符号的图片填充就是利用预先制作好的图片,然后按照顺序排列填充shape,该方法具有逼真等特点,是一种很重要的渲染方式。在Java语言里有一个类TexturePaint,该类可以使用图片对shape进行渲染的。该类具体应用请参看JDK文档。在ArcMap里,可以整体调整图片的角度来适应不同的需要,如何处理多个图片的整体角度是一个比较难的问题。
       开始,我采用对图形环境进行AffineTransform的适当变换,实现了整体图片的旋转,但是由于旋转前已经根据shape的外包矩形的大小生成了图片,经过旋转后的图片就有可能不能完全填充shape的可能,就会出现黑屏的现象。而且从理论上讲,该方法会很慢,该方法走不通。
       接下来,我采用旋转图片的方法,这样的后果是shape里的各个图片都围绕自己的中心改变,就得不到整体旋转的效果,该方法也走不通。
       最后我仔细分析ArcMap的绘制效果,在加上长时间的思考,最后想到了何不根据图片再生成一个图片,这个图片要能完全包含shape,这样就要得到shape的外包矩形,然后以该矩形的对角线为边长,这样新图片的大小就是 对角线x对角线 的一个正方形,只要把该正方形的中心移到shape的外包矩形的中心,这样不管图片怎样旋转,始终都会包含shape,所以达到了渲染的效果。
       总之,该方法主要思想是利用图片生成一个完全包含shape的图片,然后旋转图片,这样就达到了ArcMap的渲染效果,虽然很简单的思想,但是我确想了两天,(也许我太笨);
      对于渐进色的填充,基本思想和图片填充差不多,关键是用颜色(在ArcMap里是根据Inteval的多少,来对颜色段进行划分的)对这个足够大的矩形(也就是上面提到的正方形)进行填充,然后生成一个图片,接下来就和图片填充一样了。

收藏本页:

点这里复制本页地址发送给您QQ/MSN上的好友
相关文章

ARCGIS美化标注的方法
在ArcMap中显示自然地形的水流方向
在ArcGIS9.2中管理空间数据
ArcMap的地图缓存MapCache
ArcGIS整合sp方法
在ArcGIS Desktop中进行三参数或七参数精确
数据字典在ArcView GIS中的实现与应用
标注与注记(Label与Annotation)关系与区别
ArcGIS 9.2:数据互操作
ArcGIS 9.2三维功能
使用ArcXML扩展ArcIMS MapServices
计算值工具(Calculate Value)
地下水(Groundwater)工具的使用
使用sketch三维模型制作ArcGIS中的三维符号
GIS应用模式的革命
ArcGIS Server 9.3 beta 体验二 -- 开发路线
都市圈产品服务
详细讲解如何编辑SDE数据
网络三维地图发展现状与发展策略研究
哈尔滨三维(3D)电子地图,哈尔滨市三维电

相关评论


GIS门户网提示:本文章所属分类:首页 GIS应用
GIS

GIS