首页 > 其他分享 >如何给地图瓦片底图添加滤镜,实现自己想要的主题色

如何给地图瓦片底图添加滤镜,实现自己想要的主题色

时间:2024-07-17 09:55:27浏览次数:15  
标签:底图 svg 主题 leaflet 滤镜 瓦片

核心:使用css的filter滤镜属性,然而搭配svg实现想要的效果

首先确认底图服务提供的瓦片是否为浅色主题(透明瓦片不适用)

实现步骤: 

  1. 截取原浅色底图图片,类似于下图,最好是带上海洋部分的截图

  2. SVG Gradient Map Filter这个网站调整自己想要的底图主题效果,网址:https://yoksel.github.io/svg-gradient-map/#/

  3. 在html的body下创建svg此svg为蓝色主题
    <svg id="svgfilters" aria-hidden="true" style="position: absolute; width: 0;height: 0;overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
            <defs>
                <filter id="x-rays" x="-10%" y="-10%" width="120%" height="120%" filterUnits="objectBoundingBox" primitiveUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
                    <feColorMatrix type="matrix" values="1 0 0 0 0
                            1 0 0 0 0
                            1 0 0 0 0
                            0 0 0 1 0" in="SourceGraphic" result="colormatrix"/>
                    <feComponentTransfer in="colormatrix" result="componentTransfer">
                            <feFuncR type="table" tableValues="0.84 0.2 0.07"/>
                        <feFuncG type="table" tableValues="0.85 0.33 0.11"/>
                        <feFuncB type="table" tableValues="0.81 0.53 0.33"/>
                        <feFuncA type="table" tableValues="0 1"/>
                      </feComponentTransfer>
                    <feBlend mode="normal" in="componentTransfer" in2="SourceGraphic" result="blend"/>
                </filter>
            </defs>
        </svg>
  4. 找到底图瓦片的样式增加滤镜 如果使用的是esri 样式class是.layerTile 如果用的vue2-leaflet样式class为.leaflet-tile,其他插件可以自行搜索
    .layerTile, .leaflet-tile{   filter: url('#x-rays') !important }
  5.  最终效果如下

     

 

标签:底图,svg,主题,leaflet,滤镜,瓦片
From: https://www.cnblogs.com/nicederen/p/18306645

相关文章

  • 使用滤镜实现文字根据动画图片的效果
    上周写了一篇文字智能适配背景的文章,其中涉及到了色彩与滤镜方面的知识,也提到了直接在 CSS 上使用滤镜。今天,我们趁热打铁,使用 CSS 的滤镜写相对来说比较炸裂的文字根据动画图片的特效吧!一、动画与文字直接在 body 中放入一个 div 元素,然后用我男朋友高中时候原创......
  • C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例
    C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例目录C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例1、概述2、实现效果3、主要代码4、源码地址更多精彩内容......
  • ffmpeg滤镜创建过程
    1、创建一个滤镜图AVFilterGraph*filter_graph=avfilter_graph_alloc();2、创建滤镜的输入和输出AVFilterInOut*inputs=avfilter_inout_alloc();AVFilterInOut*outputs=avfilter_inout_alloc();3、每个滤镜创建上下文AVFilterContext*filter1_ctx=avfi......
  • leaflet动态更改wms瓦片请求参数
    需求https://leafletjs.cn/reference.html#tilelayer-wms官方文档这里说了可以添加自定义参数,但是这里的写法,值是固定的如果我们需要添加的参数的值是动态变化的,那么,直接写在options的方式固然是行不通的解决办法重写getTileUrl方法,可以选择继承TilelayerWMS重写一个类,也可......
  • 地图瓦片服务器搭建
    文章目录一、OpenStreetMap-Tile-Server二、OpenStreetMap地图资源下载三、加载地图资源①移动本地osm.pbf文件到docker容器中②解析osm.pbf文件③创建Postgre账号:renderer,表结构创建,地图数据导入数据库④下载地图公共资源,这里有点坑,这里详细说一下四、启动瓦片服务器五......
  • Qgis添加在线底图
    1寻找在线底图链接在网站OpenWhateverMap::AnOpenAwsumnezMap中,可以找到非常多类型的在线底图,点击其中一个即可查看链接。2.常见在线底图Google_Maps:https://mt1.google.com/vt/lyrs=r&x={x}&y={y}&z={z}Google_Terrain:https://mt1.google.com/vt/lyrs=t&x={x}&y......
  • Ps 滤镜:消失点
    Ps菜单:滤镜/消失点Filter/VanishingPoint快捷键:Ctrl+Alt+V两条平行的铁轨或两排树木连线相交于很远很远的某一点,这点在透视图中叫做“消失点”,也称为“灭点”。消失点 VanishingPoint滤镜主要用于在图像中处理具有透视效果的编辑任务。通过定义透视平面,可以在保持......
  • 想要拥有漫画脸滤镜软件?快来试试这些
    六一就快到了,在这个特别的日子,拍照成了记录快乐瞬间的必备环节。但如何让这些照片变得更加生动、更加难忘呢?借助照片变漫画功能,可以把孩子的照片变为漫画形象,为孩子在这个六一留下深刻印象。等将来家长与孩子一起重温照片时,能更添一份感动。接下来就为你讲讲几款照片变漫画......
  • Qt/C++音视频开发74-合并标签图形/生成yolo运算结果图形/文字和图形合并成一个/水印滤
    一、前言在使用yolo做人工智能运算后,运算结果除了一个方框,还可能需要增加文字显示在对应方框上,以便标记是何种物体,比如显示是人还是动物,或者还有可能追踪人员,显示该人员的姓名。这种应用场景非常普遍,而且非常有必要,可以非常直观的直接看到对应移动的物体是什么。当然也有个缺点,就......
  • 云算力如何设计粘土风滤镜?
    在云算力中设计粘土风滤镜并不是一个直接的过程,因为云算力主要提供的是计算资源,如计算能力、存储能力和网络带宽,而不是直接用于图像处理或滤镜设计的工具。然而,你可以利用云算力支持的高性能计算和大数据处理能力来辅助设计和优化粘土风滤镜。立即免费体验:https://gpumall.com/l......