新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#使用WebBrowser實現(xiàn)HTML轉(zhuǎn)圖片功能的方法-創(chuàng)新互聯(lián)
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
小編給大家分享一下C#使用WebBrowser實現(xiàn)HTML轉(zhuǎn)圖片功能的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
在 .NET 平臺上,我們有多種方式可以將一段 HTML 文本轉(zhuǎn)換為一張圖片:HTML Renderer、SelectPdf 、Aspose.Html 等。
在 WinForm 程序中,每一個 System.Windows.Forms.Control 的派生類型均包含一個名為 DrawToBitmap 的方法,該方法可以將控件繪制到一張圖片上。WebBrowser 具備顯示 HTML 的功能,又因為其從 Control 類型派生,所以包含 DrawToBitmap 方法。我們只需將要在 WebBrowser 上加載要展示的 HTML 并在其 DocumentCompleted 事件中繪制圖片即可:
public static async TaskHtmlToImage(String html, int width = 1024, int height = 768) { var taskCompletionSource = new TaskCompletionSource (); var thread = new Thread(() => { using var browser = new WebBrowser { Width = width, Height = height, ScrollBarsEnabled = false }; browser.DocumentCompleted += (s, e) => { var b = s as WebBrowser; if (b == null) { return; } var bmp = new Bitmap(b.Width, b.Height); b.DrawToBitmap(bmp, new Rectangle(0, 0, b.Width, b.Height)); taskCompletionSource.SetResult(bmp); Application.ExitThread(); }; browser.DocumentText = html; Application.Run(); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); return await taskCompletionSource.Task; }
網(wǎng)站題目:C#使用WebBrowser實現(xiàn)HTML轉(zhuǎn)圖片功能的方法-創(chuàng)新互聯(lián)
標題鏈接:http://fisionsoft.com.cn/article/dhihse.html