微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UWP MapControl LocalMapTileDataSource 和动态图块的图像自定义不透明度

如何解决UWP MapControl LocalMapTileDataSource 和动态图块的图像自定义不透明度

我使用 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 值。目前无法在整个切片图层上设置全局不透明度值,因为这会与位图中已经存在的不透明度信息发生冲突。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。