ESRI.ArcGIS.Carto.IMapServer mapServer = (ESRI.ArcGIS.Carto.IMapServer)serverContext.ServerObject; ESRI.ArcGIS.Carto.IMapServerObjects2 mapServerObjects = (ESRI.ArcGIS.Carto.IMapServerObjects2)mapServer; string mapName = mapServer.DefaultMapName; ESRI.ArcGIS.Carto.IMap map = mapServerObjects.get_Map(mapName); map.ClipGeometry = GetClippingGeometry(); mapServerObjects.RefreshServerObjects(); ESRI.ArcGIS.Carto.IImageType imageType = serverContext.CreateObject("esriCarto.ImageType") as ESRI.ArcGIS.Carto.IImageType; ESRI.ArcGIS.Carto.IImageDescription imageDescription = serverContext.CreateObject("esriCarto.ImageDescription") as ESRI.ArcGIS.Carto.ImageDescription; ESRI.ArcGIS.Carto.IImageDisplay imageDisplay = serverContext.CreateObject("esriCarto.ImageDisplay") as ESRI.ArcGIS.Carto.ImageDisplay; imageType.Format = ESRI.ArcGIS.Carto.esriImageFormat.esriImagePNG; imageType.ReturnType = ESRI.ArcGIS.Carto.esriImageReturnType.esriImageReturnMimeData; imageDisplay.Height = 800; imageDisplay.Width = 60; imageDisplay.DeviceResolution = 96; imageDescription.Display = imageDisplay; imageDescription.Type = imageType; ESRI.ArcGIS.Carto.IMapServerInfo mapServerInfo = mapServer.GetServerInfo(mapServer.DefaultMapName); ESRI.ArcGIS.Carto.IMapDescription aoMapDescription = mapServerInfo.DefaultMapDescription; ESRI.ArcGIS.Carto.IImageResult mapImage = mapServer.ExportMapImage(aoMapDescription, imageDescription); return mapImage.MimeData;
map.ClipGeometry = GetClippingGeometry(); mapServerObjects.RefreshServerObjects();