重新投影静态图像:更新源再次转换图像

Reproject static image: updating source transforms the image again

卡住了……我正在将 png 图像作为静态图像层加载到 OpenStreetMap 上。当我从例如重新投影地图时3857 到 32661 图像也会自动重新投影(这是我想要的),但是当我更新静态图像的源时,图像层会再次转换。转换后的图像再次具有与原始图像一样的矩形形状......令人沮丧......

如何让图像不再变换,而只显示更新后的源(与原始图像具有相同的尺寸,但根据新投影进行变换)。

我有一个图像层 "IMG_LYR",源 "IMG_LYRStaticSource":

IMG_LYRbounds = [45.3, 30.9, -14.6, 72.6]; // LON/LAT
url = "http://localhost/img/myupdatedimg.png";

IMG_LYR = new ol.layer.Image({
    source: IMG_LYRStaticSource
});

IMG_LYRStaticSource = new ol.source.ImageStatic({
    url: url,
    projection: map.getView().getProjection().getCode(),
    imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", map.getView().getProjection().getCode()))
});

当我在检查控制台中显示 'projection' 时,确认它是“32661”。我做错了什么??

顺便说一句:我也使用 Proj4 defs!当原始图像和基础地图在设置新投影 32661 时发生变换时,确认了这一点。

只有你的视图投影在改变,静态图像的投影不会改变,就像 OSM 一样它会被视图重新投影。

IMG_LYRStaticSource = new ol.source.ImageStatic({
    url: url,
    projection: "EPSG:3857",
    imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", "EPSG:3857")
});