首页 > 其他分享 >openlayers改变底图颜色为暗色系

openlayers改变底图颜色为暗色系

时间:2024-08-02 16:52:04浏览次数:8  
标签:src canvas 底图 const img XYZ layer openlayers 暗色

import TileLayer from "ol/layer/Tile"; // 瓦片图层类
import XYZ from "ol/source/XYZ"; // XYZ格式的切片数据,继承于TileImage

const layer = new TileLayer({
    source: new XYZ({
        url: 在线地图url,
        crossOrigin: "anonymous",
        tileLoadFunction: function(imageTile, src) {
            // 使用滤镜 将白色修改为深色
            const img = new Image();
            // img.crossOrigin = ''
            // 设置图片不从缓存取,从缓存取可能会出现跨域,导致加载失败
            img.setAttribute("crossOrigin", "anonymous");
            img.onload = function() {
                const canvas = document.createElement("canvas");
                const w = img.width;
                const h = img.height;
                canvas.width = w;
                canvas.height = h;
                const context = canvas.getContext("2d");
                context.filter = "grayscale(98%) invert(100%) sepia(20%) hue-rotate(180deg) saturate(1600%) brightness(80%) contrast(90%)";
                context.drawImage(img, 0, 0, w, h, 0, 0, w, h);
                imageTile.getImage().src = canvas.toDataURL("image/png");
            };
            img.src = src;
        }
    }),
    visible: true
});
map.addLayer(layer);

标签:src,canvas,底图,const,img,XYZ,layer,openlayers,暗色
From: https://www.cnblogs.com/ZerlinM/p/18339104

相关文章

  • 280:vue+openlayers 自定义上下左右移动键
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第280个示例文章目录一......
  • 282:vue+openlayers 利用 LineString 显示线段
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第282个示例文章目录一......
  • openlayers在地图上使用Overlay渲染图标无法操作地图问题
    ol对于在地图上渲染图标,并且图标可以随着地图的缩放层级自适应,跟随地图移动,ol是提供了一个很好用的方法的---overlay代码如下://定义标注对象letlable_div=document.createElement('div')lable_div.className=[s.labelDiv]letoffsetY=0let_classname=''_classn......
  • 如何将 geopandas 数据框与底图重叠?
    我有一个shapefile,我将其读取为geopandas数据框importgeopandasasgpdgdf=gpd.read_file('myfile.shp')gdf.plot()其中gdf.crs<ProjectedCRS:ESRI:54009>Name:World_MollweideAxisInfo[cartesian]:-E[east]:Easting(metre)-......
  • openlayers 3d 地图 非三维 立体地图 行政区划裁剪 地图背景
    这是实践效果如果没有任何基础就看这个专栏:http://t.csdnimg.cn/qB4w0这个专栏里有从最简单的地图到复杂地图的示例最终效果:线上示例代码:想要做这个效果如果你的行政区划编辑点较多可能会有卡顿感如果出现卡顿感需要将边界点相应减少一些这样地图边界会相对......
  • 如何给地图瓦片底图添加滤镜,实现自己想要的主题色
    核心:使用css的filter滤镜属性,然而搭配svg实现想要的效果首先确认底图服务提供的瓦片是否为浅色主题(透明瓦片不适用)实现步骤: 截取原浅色底图图片,类似于下图,最好是带上海洋部分的截图SVGGradientMapFilter这个网站调整自己想要的底图主题效果,网址:https://yoksel.github.......
  • openlayers WebGL裁剪图层,双图层拼接显示
    本篇介绍一下使用openlayersWebGL裁剪图层,双图层拼接显示1需求WebGL裁剪图层,双图层拼接显示2分析图层prerender和postrender事件的使用WebGLscissor方法的使用scissor方法指定了一个裁剪区域,用来将绘图区域限制在其限定的盒形区域内。gl.scissor(x,y,width......
  • 275:vue+openlayers 点图标的大小随着分辨率而变化
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第275个示例文章目录一......
  • 274: vue+openlayers 点图标的大小随着zoom的放大缩小而变化
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第274个示例文章目录一......
  • 273:vue+openlayers 显示流动轨迹并计算航向
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第273个示例文章目录一......