The width of the image is inherited from the table element it is in when it doesn't have a specific width set to it. Sample HTML reproducing the problem is:
<html>
<body>
<table style="width: 700px;">
<tbody>
<tr>
<td>
<img src="" />
</td>
</tr>
</tbody>
</table>
</body>
</html>
Instead, the real size of the image should be used.
Workaround: Subscribe to LoadImageFromUri and set size to the image.
settings.LoadImageFromUrl += (s, arg) =>
{
if (arg.Url != null)
{
string extension = Path.GetExtension(arg.Url);
Uri uri = new Uri(arg.Url, UriKind.RelativeOrAbsolute);
System.Net.WebClient oWebClient = new System.Net.WebClient();
using (MemoryStream stream = new MemoryStream())
{
oWebClient.OpenRead(uri).CopyTo(stream);
arg.ImageElement.Init(stream, extension);
arg.ImageElement.Size = new Size(164, 80);
e.Handled = true;
}
}
};