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!
Reactions are currently unavailable
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!