То, что вы делаете, это рендеринг изображения в том виде, в котором оно отображается браузером со всеми стилями. Я не знаю, действительно ли это то, чего ты хочешь? Если вы хотите только загрузить изображение, то его проще решить с помощью веб-запроса, как описано в других ответах.
Если вы действительно хотите выполнить рендеринг, тогда первый шаг - изменить
Bitmap bmp = new Bitmap(img.width, img.height);
до
Bitmap bmp = new Bitmap(e.OffsetRectangle.Width, e.OffsetRectangle.Height);
Теперь вы получите полное изображение веб-браузера.
Если вы хотите идеальное решение даже для больших изображений, вам также нужно прокрутить круг и получить изображение по частям.