3、渲染器的介绍
(1)、复合渲染器
MapXtreme Java 的渲染器称为复合渲染器,可用于指定在图形更新时需要重画的图层。这在只有部
分图层包含更改信息的时候尤为实用。CompositeRenderer 可用于将 MapJ 中的图层划分为静态和
动态渲染的图层。静态图层将只能重画一次,并在本地存储为位图。动态图层将根据每个渲染请求
重画。
复合渲染器提供实用的应用程序,例如显示沿公路移动的车辆等功能。
在地图上显示移动的对象。GPS 应用程序可以显示一辆沿地图上的高速公路移动的卡车。基础地图
只需绘制一次,而卡车符号将在需要时随时绘制(如每个位置改变)。
使用 CompositeRenderer 时切记以下信息:
静态图层将绘制为本地存储的位图。此时将使用大量内存,一个 640 x 480 的图像将至少占用 2.7MB
内存。
更改 MapJ 上的缩放将导致静态图层变形。直线将显示为阶梯状或锯齿状。
更改 MapJ 的中心将导致静态图层的边缘平移。此时,可以重新生成静态图层。mapxtreme
(2)、渐进渲染
渐进渲染是 MapXtreme Java 提供的强大功能之一,用于先将部分地图图像发送到客户机,并随之
在指定的时间间隔之内,发送更加完全的图像,直至完整图像接收完毕。与在整个地图图像完成渲
染之后再发送图像相比,这一特性可以更快地实现接收图像的某些部分。
渐进渲染在需要重新生成花费大量时间访问底层数据的图层时非常实用。那么采用渐进渲染与发送
一个最终的图像相比,显示整个图像所用的总时间会略有增加。
客户机控制图像是否采用渐进渲染,以及采用多长的时间间隔来通过 ImageRequestComposer 使用
的特殊 MIME 类型返回。这一 MIME 类型采取以下形式:multipart/image;imagetype=xxx;interval=yyy
其中 xxx 是要返回的图像的 MIME(如 image/gif、image/jpg 等),yyy 是以毫秒为单位的更新时间
间隔。渐进渲染由 MapXtremeImageReneder 类上的 isDone() boolean 方法启用。若将 isDone() 设置为
ture,那么 MapXtremeImageRenderer 上的 toStream()、toFile() 和 toImage() 方法在流中返回下一
图像数据块。isDone() 方法可用于遍历并检索流中的每个后续图像,直至检索不到为止。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-28029-3.html
说白了就是要个面子
俺到江浙去
质检总局