AUTHOR: Ekaterina Martynyuk
DATE POSTED: June 06, 2017
Article information
Article relates to
Telerik Reporting
Created by
Katia, Telerik
Last modified
June 6th, 2017
Last modified by
static
public
Image HTML2BitMap(
string
url, Telerik.Reporting.Processing.PictureBox me)
{
Hashtable data =
new
Hashtable();
data[
"url"
] = url;
"image"
] =
null
;
// We expect PictureBox dimesions in pixels
"w"
] = (
int
)me.Width.Value;
"h"
)me.Height.Value;
Thread t =
Thread(
ParameterizedThreadStart(Report1.GetImage));
t.TrySetApartmentState(ApartmentState.STA);
t.Start(data);
t.Join();
if
(t.IsAlive)
t.Abort();
MemoryStream ms =
MemoryStream((
byte
[])data[
]);
Image img = Image.FromStream(ms);
//Resize the PictureBox to the actual size of the browser image
//me.Height = new Unit(img.Height,UnitType.Pixel);
//me.Width = new Unit(img.Width, UnitType.Pixel);
return
img;
}
void
GetImage(
object
_data)
Hashtable data = (Hashtable)_data;
using
(WebBrowser browser =
WebBrowser())
browser.ScrollBarsEnabled =
false
// Set browser prefered size
browser.Size =
Size((
)data[
], (
browser.DocumentText = (
];
while
(browser.ReadyState != WebBrowserReadyState.Complete)
Application.DoEvents();
Size sz = browser.Document.Body.ScrollRectangle.Size;
(Bitmap myBitmap =
Bitmap(sz.Width, sz.Height))
browser.ClientSize = sz;
Rectangle drawRectangle =
Rectangle(0, 0, sz.Width, sz.Height);
browser.DrawToBitmap(myBitmap, drawRectangle);
MemoryStream();
myBitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
] = ms.ToArray();
Resources Buy Try