地图截图 最后更新时间: 2021年01月22日
对当前屏幕的地图区域进行截屏,您可以调用 AMap.GetScreenAsync() 方法获取当前屏幕的地图截图图片。此功能可以对地图、覆盖物(包含信息窗口)、Logo进行截取屏幕,地图控件、Toast窗口除外。
示例代码如下(详见demo中Screen.xaml.cs):
private async void ApplicationBarIconButton_Click(object sender, EventArgs e)
{
_progressIndicator.Text = "正在截图并保存";
_progressIndicator.IsIndeterminate = true;
_progressIndicator.IsVisible = true;
var bitmap = await amap.GetScreenAsync();//获取截图图片
var stream = new System.IO.MemoryStream();
System.Windows.Media.Imaging.Extensions.SaveJpeg(bitmap, stream, bitmap.PixelWidth, bitmap.PixelHeight, 0, 100);
stream.Position = 0;
var mediaLib = new Microsoft.Xna.Framework.Media.MediaLibrary();
var datatime = System.DateTime.Now;
var fileName = string.Format("{0}", datatime.ToString("yyddHHmmss"));
mediaLib.SavePicture(fileName, stream);
SystemTray.SetProgressIndicator(this, _progressIndicator);
SystemTray.ProgressIndicator.IsVisible = false;
}
显示如下图所示: