使用的是CefSharp控件,開放出的功能比較多,可是仍是有一些封閉的。例如複製圖片到Clipbord,庫沒有提供。javascript
VC雖然看得懂,但託管代碼沒搞過,看得很蛋痛,並且若是有CefSharp有新版本還要改,因而曲線解決。html
先說IE,其有RangeControl,能夠複製,但Chrome和Firefox都不支持,固然後兩者均可以複製圖片。html5
問題主要緣由,是不知道怎樣比緩存提取圖片。固然能夠從新下載,但這樣就沒意義,如驗證碼或尺寸大的圖片,從新下載不合要求。由於CefSharp就是Chrome,有一個工具能夠查看緩存,但沒有找到其源碼。不清楚緩存格式,沒法提存,猜多是一種小開型數據庫,例如Sqlite等,由於看devTools的資源部分,頗有數據庫管理器的影子。java
還有一種辦法是截屏,但這不是正路,如圖片被遮擋或縮放時。web
Javasciprt剪貼板不能用,緩存又沒辦法查看,這個問題困擾了很久。sql
最後找到一種辦法,用Canvas標籤。數據庫
相關資料: HTML 5 <canvas> 標籤 HTML 5 Canvas HTML 5 Canvas 參考手冊 HTML DOM Canvas 對象 The canvas element canvas
最後用javascript 反調 c# 註冊的對象,傳回buffer數據,但若是圖片大一些,耗時會不少,個人300*100的圖片要1秒多,只是一種暫時的方法,最好仍是能夠讀緩存。c#
一些參考資料:跨域
基於 HTML5 中的 Web SQL Database 來構建應用程序
HTML5開發學習(2):本地存儲之localStorage 、sessionStorage、globalStorage
HTML5開發學習(3):本地存儲之Web Sql Database(附源碼)
W3C Web SQL Database Web SQL databases 搜索
出現 SECURITY_ERR:DOM Exception 18 異常:
在本地調試時,會出現這個問題,安全性錯誤,實際上是JS跨域訪問錯誤,由於以前是運行的客戶端嵌入的JS,將UniversalAccessFromFileUrlsAllowed 設置爲true,只能使本機的調試網頁能夠,但訪問外網時,當圖片和網站不一致,還會報錯,由於自己是嵌入使用瀏覽器,設置 WebSecurityDisabled=true,解決。