`r`n
经纬志
`r`n
`r`n
首页 / OpenLayers / 使用示例
`r`n

影像滤镜

用 Canvas 2D 的 filter 与像素运算给影像换滤镜,叠加在地图上看效果。

OpenLayers 10.3.1 · 更新 2026-10-27
`r`n
源码与运行效果
运行效果
`r`n

说明

影像图层只接受图片地址,因此滤镜在生成图片时完成: ctx.filter = 'grayscale(1) contrast(1.3)' 画出灰度版, 或读取像素做反色,再交给 ol.source.ImageStatic。

三种滤镜共用同一块 imageExtent,切换时只替换源, 位置与范围不变,方便对比。

操作结果
选「灰度」影像去色并提高对比度
选「反色」像素逐通道取反,像底片效果
选「原图」恢复初始配色

ctx.filter 在部分旧版浏览器不支持;需要兼容时改用 getImageData 逐像素处理,代价是速度更慢。

`r`n
`r`n