Hi Ben,
Thank you for your feedback.
For your reference, here I provide some code snippet which demonstrates how to draw image on overlay.
private void Draw(LayerOverlay overlay, Map map)
{
GeoCanvas drawingCanvas = null;
WriteableBitmap nativeImage = null;
var overlayElement = overlay.OverlayElement;
drawingCanvas = new WriteableBitmapGeoCanvas();
nativeImage = new WriteableBitmap((int)overlayElement.Width, (int)overlayElement.Height);
if (drawingCanvas != null && nativeImage != null)
{
((Canvas)overlayElement).Children.Clear();
drawingCanvas.BeginDrawing(nativeImage, map.CurrentExtent, map.MapUnit);
LayerOverlay ovl = new LayerOverlay();
InMemoryFeatureLayer layer = new InMemoryFeatureLayer();
layer.InternalFeatures.Add(new Feature(30, 30));
layer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.Capital1;
layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
ovl.Layers.Add(layer);
Map1.Overlays.Add(overlay);
foreach (Layer lyr in ovl.Layers)
{
lyr.Open();
lyr.Draw(drawingCanvas, new Collection<SimpleCandidate>());
lyr.Close();
}
drawingCanvas.EndDrawing();
}
Image image = new Image();
image.Source = (WriteableBitmap)nativeImage;
((Canvas)overlayElement).Children.Add(image);
}
There should be lots of considerations to fully meet your requirement and I think it's out of POST's range, if you need further help, please contact with our professional services.
Regards,
Ivan