html div 求助,哪位大神知道html2canva有跨域圖片,怎么解決?
求助,哪位大神知道html2canva有跨域圖片,怎么解決?我不知道怎么玩。我告訴你,所謂跨域一定是跨域的圖像。屏幕截圖有問(wèn)題??缬驁D像呢?將頁(yè)面中的圖片轉(zhuǎn)換為Base64,并將其設(shè)置為圖片的SRC屬
求助,哪位大神知道html2canva有跨域圖片,怎么解決?
我不知道怎么玩。我告訴你,所謂跨域一定是跨域的圖像。屏幕截圖有問(wèn)題??缬驁D像呢?將頁(yè)面中的圖片轉(zhuǎn)換為Base64,并將其設(shè)置為圖片的SRC屬性。在所有圖片都打開后,執(zhí)行html2canvas屏幕截圖。此時(shí),可以顯示圖片。如果你覺得頁(yè)面中的圖片不像以前那么清晰,你可以在翻頁(yè)后恢復(fù)鏈接,這是我的處理方法。首先,canvas比HTML和CSS出現(xiàn)得晚。它的出現(xiàn)是為了彌補(bǔ)瀏覽器中缺乏較低級(jí)別的繪圖API。過(guò)去,基于圖形和圖像的應(yīng)用程序(如游戲)只能借助flash(Flex)等插件來(lái)實(shí)現(xiàn)。具體細(xì)分不超過(guò)2D和3D,這是畫布當(dāng)前的定位。
因此,canvas的角色傾向于處理圖形和圖像。它主要用于制作游戲、圖表、模擬器等!許多基于canvas的應(yīng)用程序仍然需要呈現(xiàn)DOM,如表格繪制、部分頁(yè)面截圖、演示軟件或白板。類似的應(yīng)用程序動(dòng)態(tài)地拖放一些內(nèi)容,組件進(jìn)入渲染。在開發(fā)基于canvas的應(yīng)用程序時(shí),我們希望所有的元素都可以直接繪制到canvas上,因?yàn)槠渌鸋TML元素只能以類似translate的方式與繪制在canvas上的元素協(xié)作。在這里,事件處理需要單獨(dú)控制。
如果使用canvas實(shí)現(xiàn)前端頁(yè)面,則性能和效率非常低。從開發(fā)效率的角度看,也增加了工作量。估計(jì)很多原本非常簡(jiǎn)單的小函數(shù)都要寫很多函數(shù)。因此,canvas應(yīng)該做的是注意適合性,而不是僅僅能夠做很多事情。方法很簡(jiǎn)單。我們可以先封裝一個(gè)ActiveX組件。然后我們可以用HTML制作屏幕截圖。代碼加起來(lái)不超過(guò)30行。為了回答這個(gè)問(wèn)題,我自己做了一個(gè)實(shí)驗(yàn)并通過(guò)了。
在第一部分中,我們使用VB6創(chuàng)建一個(gè)類模塊并聲明三個(gè)API函數(shù)1。GetDesktopWindow獲取桌面句柄,2。GetDC在控制柄中獲取場(chǎng)景控制柄,3。BitBlt來(lái)復(fù)制handle函數(shù),在第二部分中,我們定義了一個(gè)函數(shù)screenshots,在編寫了screenshot過(guò)程之后,打包并生成我們的ActiveX組件。
第三部分是使用JS或VBS引用在HTML中創(chuàng)建文本框和按鈕。我們只需要調(diào)用screenshots函數(shù)來(lái)截圖。下面有三張照片??梢钥吹剿形鍌€(gè)參數(shù),起點(diǎn)坐標(biāo)y和X,圖像大小高度和寬度,最后一個(gè)是保存路徑。
喜歡我的回答,請(qǐng)多加注意!我是小涂鴉熊