首页 / OpenLayers / 使用示例
`r`n 影像滤镜
用 Canvas 2D 的 filter 与像素运算给影像换滤镜,叠加在地图上看效果。
`r`n
源码与运行效果
说明
影像图层只接受图片地址,因此滤镜在生成图片时完成:
ctx.filter = 'grayscale(1) contrast(1.3)' 画出灰度版,
或读取像素做反色,再交给 ol.source.ImageStatic。
三种滤镜共用同一块 imageExtent,切换时只替换源,
位置与范围不变,方便对比。
| 操作 | 结果 |
|---|---|
| 选「灰度」 | 影像去色并提高对比度 |
| 选「反色」 | 像素逐通道取反,像底片效果 |
| 选「原图」 | 恢复初始配色 |
ctx.filter 在部分旧版浏览器不支持;需要兼容时改用 getImageData 逐像素处理,代价是速度更慢。