经纬志
首页 / OpenLayers / API 文档

ImageStatic

先看结论

单幅静态图像数据源。不做切片,把一整张图片按给定的地理范围拉伸定位, 适合扫描地图、规划图、单景影像。

最后验证 2026-11-03 · OpenLayers 10.3.1 · 更新 2026-10-29 · 引用本文
new ol.source.ImageStatic(options)

构造参数

参数默认说明
url必填图像地址
imageExtent必填图像在地图投影下的范围,[minX, minY, maxX, maxY]
projection'EPSG:3857'imageExtent 所属的坐标系
imageSize按图像原始尺寸目标像素尺寸,用于降低解码开销
interpolatetrue缩放时是否平滑插值,false 保留像素块
imageLoadFunction默认加载器自定义加载,签名 (image, src)
crossOrigin—跨域属性,取像素时需要设为 'anonymous'
attributions—版权说明

示例

var extent = ol.proj.transformExtent(
  [116.28, 39.84, 116.52, 40.02],
  'EPSG:4326',
  'EPSG:3857'
);

var layer = new ol.layer.Image({
  source: new ol.source.ImageStatic({
    url: '/maps/plan-2020.png',
    imageExtent: extent,
    projection: 'EPSG:3857',
    interpolate: true,
    attributions: '© 城市规划档案馆'
  }),
  opacity: 0.85
});

定位的三个前提

  1. imageExtent 用地图投影的坐标,不是经纬度;用 transformExtent 先换算。
  2. 图像内容必须与这个范围严丝合缝,倾斜或带变形的扫描图会整体偏移。
  3. projection 与 imageExtent 必须属于同一坐标系,两者不一致时图像会被静默拉伸。

与 ImageWMS、XYZ 的区别

ImageStatic 只有一张图,缩放时浏览器直接缩放位图,到高层级会模糊; ImageWMS 每次视角变化都由服务端重新出图,清晰度稳定但依赖服务; XYZ 按瓦片分级请求,最适合大范围底图。单幅规划图没有金字塔, 放大后模糊是数据本身的限制。

大图先压缩。一张 8000 像素宽的扫描图解码后占用显存可观, 低端设备会直接丢纹理。上线前按最大显示层级导出合适尺寸, 或用 imageSize 限制解码目标。

引用本文

经纬志(2026)。《ImageStatic》。https://www.jingweizhi.com/openlayers/api/image-static.html(访问日期 2026-11-03)。