UWP MapControl LocalMapTileDataSource 和 tile 的图像自定义不透明度

UWP MapControl LocalMapTileDataSource and tile's image custom opacity on fly

我使用 LocalMapTileDataSource 并想为 tile 的图像应用自定义不透明度。 正如我发现的,没有办法让它飞起来?

这是我的代码。

private void AddLocalMapTileDataSource()
{
     MapZoomLevelRange range;
     range.Min = 8;
     range.Max = 16;
     var dataSource = new LocalMapTileDataSource();
     dataSource.UriRequested += (s, e) =>
     {
          var deferral = e.Request.GetDeferral();
          var qk = TileSystem.TileXYToQuadKey(e.X,e.Y, e.ZoomLevel);
          e.Request.Uri = new Uri($"ms-appx:///Tiles/{qk}.png");
          deferral.Complete();
     };

     var tileSource = new MapTileSource(dataSource)
     {
         ZoomLevelRange = range
     };

     myMap.TileSources.Add(tileSource);
     tileSource.Layer = MapTileLayer.AreaOverlay;
     tileSource.IsTransparencyEnabled = true;
     tileSource.TilePixelSize = 256;
}

当您像这样从 PNG 加载图块时,它会读取 PNG 中每个像素的不透明度。如果要更改不透明度,则需要更新每个像素中的 PNG alpha 值。目前无法在整个图块图层上设置全局不透明度值,因为这会与位图中已经存在的不透明度信息发生冲突。