首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >颜色查找表/颜色操作/颜色校正

颜色查找表/颜色操作/颜色校正
EN

Stack Overflow用户
提问于 2018-05-09 09:00:27
回答 1查看 340关注 0票数 1

我想操纵瓷砖层的颜色。我找到了三个解决方案,都不够。

解决方案1: I使用一个图像层(ol.layer.Image),它使用光栅源(ol.source.Raster),其颜色可以被操纵。请参阅OpenLayers的色彩操纵示例。一旦图像呈现,缩放和缩放是平滑的,因为图像的像素不是在每个帧上被操纵;图像只是调整大小。缺点是,当缩放时,图像会变小,直到它不再填充画布。只有当缩放停止时,它才会完全重新绘制以填充画布。此解决方案无法使用,因为我的用户应该始终查看所有可用的地图数据,即使在缩放时也是如此。“放大,等待,填充画布”循环太分散注意力了。

解决方案2:扩展解决方案1,我在图像层下面添加了一个平铺层,以便画布在缩放时总是填充地图数据。请参阅OpenLayers的阴影浮雕示例。缺点是,在缩放时,图像层外部的区域显示非彩色操作的瓷砖层。此解决方案不能使用,因为我的用户必须不知道任何颜色校正。

解决方案3: --我使用一个平铺层,并将一个事件侦听器添加到我的ol.Map实例中,侦听postcompose事件。当此事件触发时,我直接通过读取像素颜色、更改它们并将它们写回上下文来操作画布上下文。这是可行的,但非常缓慢,因为postcompose在每一帧上都会触发,我必须重新操作画布的所有像素。

我的问题:

  1. 如何有效地操作瓷砖层的颜色,同时避免解决方案1(放大时背景变得可见)和解决方案2(第二层与第一层不匹配)的问题?
  2. OpenLayers支持颜色查找表吗?
  3. 可以设置颜色配置文件吗?
EN

回答 1

Stack Overflow用户

发布于 2018-05-09 20:51:39

查看github上的ol-ext,它们有一个颜色过滤器扩展,在示例中使用了一个瓷砖层。至于颜色轮廓,他们有一些预定义的,如灰阶和紫色。您可能会完成他们的代码,并找到适合您自己的部分。

http://viglino.github.io/ol-ext/examples/filter/map.filter.colorize.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50249377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档