日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Awesomium(二)-- MultiThreadSnapshot

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Awesomium(二)-- MultiThreadSnapshot 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、 介紹

延續(xù)上一篇針對Awesomium的試用感受,感覺還是挺不錯(cuò)的,覺得網(wǎng)頁抓圖功能效果很好,今后具有一定重用性,因此特地進(jìn)行了封裝,讓它支持多線程并發(fā)截圖。

?????? 以Helper的形式進(jìn)行了封裝,封裝類是WebSnapshot,由于內(nèi)部的WebCore對象是一個(gè)重對象,因此將其做成了單件形式。下面是封裝暴露的接口:

delegate void FinishSnapshot(Bitmap bmp)void BeginSave(string url, string savePath, FinishSnapshot finishCallback)Bitmap Save(string url, string savePath)

看看接口名,顧名思義分為同步和異步兩種抓圖方法。

參數(shù)說明:url是需要抓圖的網(wǎng)站地址;savePath是抓圖后保存的文件路徑(當(dāng)設(shè)置為null時(shí)則不進(jìn)行保存);finishCallback是異步抓圖完成后的回調(diào);如果需要對圖片進(jìn)行后期調(diào)整及后期保存,可以使用同步方法中的返回值或者異步方法中的回調(diào),然后將savePath設(shè)置為null,即可。

二、 使用方法說明

1. 編譯時(shí)依賴的類庫為AwesomiumDotNet.dll(Version 1.2.1);運(yùn)行時(shí)依賴的類庫為Awesomium.dll(Version 1.5.1)和icudt38.dll(使用VS的BuildEvents功能將Runtime類庫復(fù)制到程序當(dāng)前目錄下)

2. 調(diào)用例子:

自動保存圖片

WebSnapshot.Instance.BeginSave("http://www.sina.com.cn", @"c:\sina.bmp", (bmp) => { Console.WriteLine("sina finish!"); });

手動保存圖片

WebSnapshot.Instance.BeginSave("http://www.microsoft.com", null, (bmp) => {Console.WriteLine("ms finish!");bmp.Save(@"c:\ms.bmp"); });

三、 類庫封裝細(xì)節(jié)說明

1. WebCore.Update()

由于WebCore為重量級對象,WebView則相對輕量級,而且是在多線程環(huán)境下執(zhí)行,因此選擇使用單件模式避免WebCore反復(fù)被構(gòu)造。WebView是從WebCore創(chuàng)建的,Update()方法用來更新所有WebView加載頁面的當(dāng)前狀態(tài),用來觸發(fā)WebView的事件。防止多線程資源訪問沖突,Update()方法需要lock。

2. WebView.Resize()

原理就是將WebView的尺寸調(diào)整為和頁面同樣大小,這樣截圖就能更完整,不管多長的頁面都可以在一張圖片中完整的保存。這里還使用到了WebView.ExecuteJavaScriptWithResult()方法,通過javascript獲得當(dāng)前頁面的實(shí)際長寬,然后再調(diào)整WebView的Size,最后RenderToBitmap()。

3. WebCoreOptions

在構(gòu)造WebCore的時(shí)候需要傳遞WebCoreOptions,顧名思義就是設(shè)置WebCore參數(shù)。其中比較實(shí)用的就是LogLevel和LogPath兩個(gè)屬性,用來控制瀏覽器內(nèi)核的日志輸出。

public enum LogLevel {None = 0, // No log is createdNormal = 1, // Logs only errorsVerbose = 2, // Logs everything }

四、代碼

Snapshot.7z

轉(zhuǎn)載于:https://www.cnblogs.com/canmusic/archive/2012/10/09/2717465.html

總結(jié)

以上是生活随笔為你收集整理的Awesomium(二)-- MultiThreadSnapshot的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕日韩精品在线观看 | 国产日韩欧美亚洲 | 91国内精品久久久久 | 久久久久久久久久久久久久久久久久 | 色偷偷888欧美精品久久久 | 欧美一级淫片免费视频黄 | 蜜臂av | 国产视频www| 欧亚乱熟女一区二区在线 | 申鹤乳液狂飙 | 日本免费一区二区三区四区五六区 | 天堂中文在线8 | 女优在线观看 | 特黄一级视频 | 日本高清www免费视频 | 超污网站在线观看 | 日韩一级在线视频 | 久久久国产打桩机 | 国产精品久久综合青草亚洲AV | 性史性dvd影片农村毛片 | 日韩欧美国产一区二区三区在线观看 | 久热网| 欧美性精品 | 精品交短篇合集 | 日韩视频a | 少妇高潮网站 | 两性午夜视频 | www国产黄色 | www.jizzcom| 亚洲天堂123 | wwwav视频在线观看 | 黄色一级小说 | 亚洲人成一区 | 欧美夜夜操 | 国产精品免费久久久 | 人妻少妇无码精品视频区 | 久久久久人妻一区精品 | 性欧美在线视频观看 | 欧美成人综合网站 | 天天夜碰日日摸日日澡性色av | 黄色免费在线观看网站 | 午夜天堂影院 | 久久福利片 | 欧美另类精品xxxx孕妇 | 欧美91av| 国产精品999999 | 在线色播 | av片久久| 亚洲欧美日本一区 | 日韩av黄色片 | 午夜精品久久久久久久99老熟妇 | 伊人一区二区三区 | 悠悠色综合 | 国产视频综合在线 | 欧洲精品久久久久毛片完整版 | 91色综合 | 久热中文字幕在线 | 五月综合在线 | 中文字幕3页 | 成人观看视频 | 国产一级淫片a视频免费观看 | 国产又粗又黄又爽视频 | 国产刺激高潮av | 免费国产一区二区三区 | 日本精品三区 | 久久久男人天堂 | 天堂va蜜桃一区二区三区 | 国产欧美一区二 | 成人亚洲黄色 | 91国产丝袜播放在线 | 欧美性受xxx黑人xyx性爽 | 日本一级片免费看 | 狠狠操狠狠插 | h片在线播放 | 天堂视频免费在线观看 | 免费黄色视屏 | 日日碰狠狠添天天爽无码av | 天天插天天射天天干 | 欧美日韩一区二区三区国产精品成人 | 国产视频在 | 美女被出白浆 | 中文字幕人妻一区二区三区 | 黄色美女一级片 | 九九综合 | 中文字幕av一区二区三区 | 高清免费视频日本 | 波多野结衣高清电影 | 先锋av资源网 | 国产精品无码电影在线观看 | 欧美久久久一区二区三区 | 国产偷人视频 | 亚洲熟妇av乱码在线观看 | 香蕉av777xxx色综合一区 | 丰满人妻一区二区 | 在线免费成人网 | 里番acg★同人里番本子大全 | 国产精品国产三级国产专区51区 | 亚洲自拍偷拍一区二区三区 | 国产网站免费 |