UWP 地图控件 - 调整 MapIcon 图像的大小
UWP Map Control - Resize MapIcon Images
如何增加 MapIcons 和 Billboard Images 的大小?我试过样式表缩放以及 C# 代码,但它似乎没有改变。
var mapIcon = new MapIcon()
{
Location = new Geopoint(
new BasicGeoposition
{
Latitude = entry.Latitude,
Longitude = entry.Longitude,
}),
NormalizedAnchorPoint = new Windows.Foundation.Point(0.5, 1.0),
Title = entry.Name,
Image = RandomAccessStreamReference.CreateFromUri(new Uri($"ms-appx:///Assets/KMZ/Pins/icon.png"))
};
很遗憾,MapIcon
没有提供 API 来调整自己的大小,您必须自己调整使用的图像。
可以使用 BitmapDecoder
读取源图像和 BitmapEncoder
来调整图像大小,后者允许您写入修改后的位图流(甚至在内存中)。可以使用 BitmapTransform.ScaledWidth
和 BitmapTransform.ScaledHeight
APIs.
来调整大小
Jay Zuo 在 中分享了完整的解决方案。尽管问题中提到 Xamarin.Forms,但此技术完全基于 UWP,因此它也完全适用于您的问题。
如何增加 MapIcons 和 Billboard Images 的大小?我试过样式表缩放以及 C# 代码,但它似乎没有改变。
var mapIcon = new MapIcon()
{
Location = new Geopoint(
new BasicGeoposition
{
Latitude = entry.Latitude,
Longitude = entry.Longitude,
}),
NormalizedAnchorPoint = new Windows.Foundation.Point(0.5, 1.0),
Title = entry.Name,
Image = RandomAccessStreamReference.CreateFromUri(new Uri($"ms-appx:///Assets/KMZ/Pins/icon.png"))
};
很遗憾,MapIcon
没有提供 API 来调整自己的大小,您必须自己调整使用的图像。
可以使用 BitmapDecoder
读取源图像和 BitmapEncoder
来调整图像大小,后者允许您写入修改后的位图流(甚至在内存中)。可以使用 BitmapTransform.ScaledWidth
和 BitmapTransform.ScaledHeight
APIs.
Jay Zuo 在