【发布时间】:2018-06-20 16:54:43
【问题描述】:
使用 OpenLayers 4.6.5,我正在创建一个带有 ImageStatic 源的图像层,该源位于地图的投影中并具有地理参考。因此,在我选择的投影中的地图背景上显示此图像没有问题。我还关闭了图像平滑,因此当通过 precompose 方法(我在上一个问题中发现)放大时,图像会显示单个像素。但是,放大后,我相信 OL 正在创建过渡颜色或在图像的主要色标之间插入颜色。这是不可取的,因为我试图构建的页面将在鼠标悬停时读出与图像中的颜色相对应的值。在图像处理软件中显示图像并放大不会显示此行为。比较放大的图像:
来自图像处理器 (GIMP)
从OL放大静态图片
可以很清楚地看到浅紫色背景像素与第一个绿色像素混合的差异。但是,这似乎发生在其他像素颜色之间以及 OL 静态图像中。
虽然我对如何防止这种情况有一个想法,但这需要一些工作并且不能保证成功。所以我想我会先在这里问一下,以防我错过了一个设置,或者如果有一个未记录的配置设置,我可以使用它来防止这种情况发生在 OL 的内部构图画布中。这在 OL2 中没有发生,但也没有使用合成画布。 OL4 中的 ImageWMS 源也不会发生这种情况。
编辑以获取更多信息
我正在显示的图像相当大,为 2145 x 1377。在查看我正在工作的类似显示器时,恰好注意到,对于较小的图像,放大时不会出现这种效果。进行了一些测试一个 2345 x 1597 的数据集,因为它有同样的问题。在将图像缩小不同数量后,尺寸缩小会出现某种断点,此问题发生在 10%(仍然发生)和 15%(不发生)之间。两者比较:
原尺寸的 90%
虽然这可能是一种解决方法,但我仍然想知道是否可以执行或设置任何操作,以便在完整图像大小时不会出现此问题,因为减小图像大小仍会影响鼠标悬停期间的值读出功能.
【问题讨论】:
标签: openlayers