The default values of some variables in LegacyMapImageRenderer.cs have not been considered in the code, this causes overflow errors:

For example, the following code in the ONPAINT event (MapBox.cs), produces constant run-time errors because it receives _image as new Bitmap(1, 1):

This can be demonstrated by adding the following (in Bold) to the code above:
{
var image = _miRenderer.ImageValue;
if (image != null && image.PixelFormat != PixelFormat.Undefined)
{
if (image.Width > 1 && image.Height > 1) {
var imageEnvelope = _miRenderer.ImageEnvelope ?? new Envelope();
if (_map.Envelope.Equals(imageEnvelope))
pe.Graphics.DrawImageUnscaled(image, 0, 0);
else {
var ul = _map.WorldToImage(imageEnvelope.TopLeft());
var lr = map.WorldToImage(imageEnvelope.BottomRight());
pe.Graphics.DrawImage(image, RectangleF.FromLTRB(ul.X, ul.Y, lr.X, lr.Y));
}
}
else
{
Debug.WriteLine("bug");
}
}
I hope it will be useful to you, thank you!
The default values of some variables in LegacyMapImageRenderer.cs have not been considered in the code, this causes overflow errors:
For example, the following code in the ONPAINT event (MapBox.cs), produces constant run-time errors because it receives _image as new Bitmap(1, 1):

This can be demonstrated by adding the following (in Bold) to the code above:
{
var image = _miRenderer.ImageValue;
if (image != null && image.PixelFormat != PixelFormat.Undefined)
{
if (image.Width > 1 && image.Height > 1) {
var imageEnvelope = _miRenderer.ImageEnvelope ?? new Envelope();
if (_map.Envelope.Equals(imageEnvelope))
pe.Graphics.DrawImageUnscaled(image, 0, 0);
else {
var ul = _map.WorldToImage(imageEnvelope.TopLeft());
var lr = map.WorldToImage(imageEnvelope.BottomRight());
pe.Graphics.DrawImage(image, RectangleF.FromLTRB(ul.X, ul.Y, lr.X, lr.Y));
}
}
else
{
Debug.WriteLine("bug");
}
}
I hope it will be useful to you, thank you!