我想將本地HTML文件轉換爲位圖圖像使用C#Windows窗體應用程序。爲此,我正在通過使用內存流來讀取HTML文件。但是在將內存流傳遞給Bitmap對象後,它會顯示「參數無效」。HTML文件位圖圖像
下面是示例代碼
MemoryStream的STM =新的MemoryStream(數據); 位圖f_Bitmap =(位圖)Image.FromStream(stm);
請提供如何將HTML文件轉換爲位圖圖像的解決方案。
謝謝。
我想將本地HTML文件轉換爲位圖圖像使用C#Windows窗體應用程序。爲此,我正在通過使用內存流來讀取HTML文件。但是在將內存流傳遞給Bitmap對象後,它會顯示「參數無效」。HTML文件位圖圖像
下面是示例代碼
MemoryStream的STM =新的MemoryStream(數據); 位圖f_Bitmap =(位圖)Image.FromStream(stm);
請提供如何將HTML文件轉換爲位圖圖像的解決方案。
謝謝。
只要這將作爲你說的HTML文件是直接鏈接到圖片文件:
var request = (HttpWebRequest) WebRequest.Create(IMAGE_URL);
using (var stream = request.GetResponse().GetResponseStream())
{
using (var image = Image.FromStream(stream))
{
var bitmap = new Bitmap(image);
//use or return bitmap, image will automatically get disposed
}
}
與您的網址替換IMAGE_URL。
如果HTML文件包含URL作爲文本,那麼您將需要解析它。
如果此文件是本地的,你可以簡單地使用一個FileStream(或的FileReader)來獲取本地文件的流(這是類似的GetResponseStream上的WebRequest。)
讓我知道如果您有任何疑問。
希望它有幫助。
我的解釋是錯誤的接收:
它之所以拋出錯誤原因你所做的就是從文件推HTML文本在流中,當FromStream使用數據,它說的格式該數據不是位圖或不夠好
如果要將HTML文件的內容保存爲位圖,則不能只將這些字節放入Bitmap對象中。您需要使用WebBrowser對象並手動繪製它。 Here是一篇概述它的文章。
您可以隨時使用WebBrowser對象(閱讀更多here)。
public void WBCapture()
{
WebBrowser wb = new WebBrowser();
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
wb.ScrollBarsEnabled = true;
wb.Width = 800;
wb.Height = 600;
wb.DocumentText = @"<b>Hello</b> <i>World</i>!!!";
// Or you can navigate to:
// wb.Navigate("http://mydocmentsurl.com");
}
void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = (WebBrowser)sender;
using (Graphics graphics = wb.CreateGraphics())
using (Bitmap bitmap = new Bitmap(wb.Width, wb.Height, graphics))
{
Rectangle bounds = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
wb.DrawToBitmap(bitmap, bounds);
bitmap.Save(@"C:\caputre.png", ImageFormat.Png);
}
}
這可以通過Azure或Google Web主機上託管的ASP.NET Web應用程序完成嗎? – o365spo 2013-04-27 15:37:44
http://stackoverflow.com/questions/7803201/capturing-webpage-as-image-in-c-ensuring-javascript-rendered-elements-are-visi – 2012-07-09 13:18:35
當你說HTML文件,你意思是一個有鏈接的html文件嗎?或者是HTML文件的直接鏈接?例如http://www.example.com/mypicture.png 數據的內容是什麼? – Tom 2012-07-09 13:19:11