今天項(xiàng)目有個(gè)需求,需要對(duì)H5做截圖,來(lái)分享QQ、微博、微信,要對(duì)整個(gè)H5包含的所有內(nèi)容來(lái)做截圖
1.首先我想到第一種的截圖方法是對(duì)webview直接截圖

但是這樣截取出來(lái)

下面的被截?cái)嗔耍茱@然不是我想要的圖片
2.于是用了第二種方法

但是截圖下來(lái)是

出來(lái)的圖片比較長(zhǎng),是我們需要的尺寸,但是下面黑屏了,沒(méi)有截取完整,有出問(wèn)題,在我說(shuō)第三種方法前,先來(lái)說(shuō)說(shuō)UIGraphicsBeginImageContextWithOptions ,這個(gè)方法第一個(gè)參數(shù)表示你截取size,也就是只截取出來(lái)圖片的大小,同時(shí)我們還要用UIGraphicsGetCurrentContext 來(lái)取得上下文,這個(gè)上下文表示當(dāng)前的view的size大小,所以,要想下面不黑屏,必須調(diào)整webview的size大小,但是webview是顯示出來(lái)的,不可能改變size的小大,如果改變,就造成錯(cuò)亂了
3.我們自己建個(gè)temp UIWebview,當(dāng)顯示webview 調(diào)用webViewDidFinishLoad 創(chuàng)建一個(gè)temp? UIWebview,用顯示web view的contensize,來(lái)設(shè)置temp UIWebview 的frame,對(duì)這個(gè)temp UIWebview來(lái)截屏?

也就完成對(duì)web view的全部截圖操作
