使用OpenLayers 4.6.5,我正在使用ImageStatic源创建一个Image图层,该Source在地图的投影中并已进行地理参考。因此,我在选择的投影中在地图背景上显示此图像时没有问题。我还关闭了图像平滑功能,这样当通过precompose方法(我在上一个问题中发现)放大时,图像显示单个像素。但是,放大后,我相信OL会在图像的主要色标之间创建过渡色或内插颜色。这是不可取的,因为我尝试构建的页面在鼠标悬停时将具有与图像中的颜色相对应的值读出。在图像处理软件中显示图像并放大不会显示此行为。比较放大的图像:
来自图像处理器(GIMP)
从OL放大静态图像
在这里,可以很清楚地看到其中浅紫色背景像素与第一个绿色像素混合在一起的区别。但是,这似乎也发生在OL静态图像中的其他像素颜色之间。
尽管我对如何避免这种情况有一个想法,但这需要一些工作并且不能保证成功。因此,我想首先要在这里提出问题,以防万一我错过了设置或是否存在未记录的配置设置,可以用来防止这种情况在OL的内部合成画布中发生。这在OL2中没有发生,但是也没有使用合成画布。对于OL4中的ImageWMS源,也不会发生这种情况。
编辑以获取其他信息
我正在显示的图像相当大,为2145 x1377。在看类似的显示器时,我正在工作,只是偶然发现,对于较小的图像,放大时不会出现这种效果。具有相同问题的2345 x 1597数据集。在以不同的数量缩小图像后,尺寸缩小会出现某种断点,此问题发生在10%(仍然发生)和15%(不发生)之间。两者的比较:
原始尺寸为90 pct
虽然这可能是一种解决方法,但我仍想知道是否可以进行任何操作或进行设置,以便在全尺寸图像下不会出现此问题,因为减小图像尺寸仍可能会在鼠标悬停时影响值读取功能
答案 0 :(得分:0)
我想这是OL放大的问题。当您放大过多的openlayer时,它们会插入像素,但是我想您应该在github问题页面中报告它。