<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JS實現div模塊的截圖并下載功能

        來源:懂視網 責編:小采 時間:2020-11-27 22:27:43
        文檔

        JS實現div模塊的截圖并下載功能

        JS實現div模塊的截圖并下載功能:當需要實現html頁面部分模塊截圖并具有保存圖片功能時,前臺直接生成截圖并下載會方便的多。多的不說,直接看代碼 首先我們需要引入2個js文件: <script type=text/javascript src=js/html2canvas.js></script>
        推薦度:
        導讀JS實現div模塊的截圖并下載功能:當需要實現html頁面部分模塊截圖并具有保存圖片功能時,前臺直接生成截圖并下載會方便的多。多的不說,直接看代碼 首先我們需要引入2個js文件: <script type=text/javascript src=js/html2canvas.js></script>

        當需要實現html頁面部分模塊截圖并具有保存圖片功能時,前臺直接生成截圖并下載會方便的多。多的不說,直接看代碼

        首先我們需要引入2個js文件:

         <script type="text/javascript" src="js/html2canvas.js"></script>
         <script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>

        加入css 樣式,主要是生成"X"關閉圖片圖標:

        body{background: #ccc}
        #dw{position: absolute;top: 10px;left:10%;height: 620px;width:1030px;background: #fff; border:1px solid black;padding: 10px}
        .close{
         position:relative;
         left: 10px;
         width:0.2em;
         height:1em;
         background: #333;
         -webkit-transform: rotate(45deg);
         -moz-transform: rotate(45deg);
         -o-transform: rotate(45deg);
         -ms-transform: rotate(45deg);
         transform: rotate(45deg);
         display: inline-block;
        }
        .close:after{
         content: "";
         position: absolute;
         top: 0;
         left: 0;
         width:0.2em;
         height:1em;
         background: #333;
         -webkit-transform: rotate(270deg);
         -moz-transform: rotate(270deg);
         -o-transform: rotate(270deg);
         -ms-transform: rotate(270deg);
         transform: rotate(270deg);
        }

        寫入隨便div 模塊,我隨便位置給的點擊截圖按鈕

        <!-- 要截圖的div main 藍色區域 -->
        <div id="main" style="width: 50%; margin-left: 100px;padding: 50px;height: 400px;background: #5a90a0">
          <div style="height: 200px;width: 200px;background: #ccc;"></div>
          <div style="height: 30px;width: 168px;border:2px solid black;background: red;text-align: center;" onclick="doScreenShot()">截圖</div>
        </div>
        <!-- 生成圖片展示的DIV dw-->
        <div id="dw" >
          <div style="float: right;width: 25px;height: 25px;" title="關閉" onclick="closeok()">
            <span class="close"></span>
          </div> 
        </div>

        頁面效果如下:

        js代碼如下:

        $("#dw").hide();
        //關閉圖片
        function closeok(){
         $("#dw").hide();
        }
        //點擊截圖
        function doScreenShot(){
         $("#dw").show();
         html2canvas($("#main"), {
         onrendered: function(canvas) {
         canvas.id = "mycanvas"; 
         var mainwh=$("#main").width(); 
         var mainhg=$("#main").height();
         var img = convertCanvasToImage(canvas);
         console.log(img);
         //document.body.appendChild(img);
         $("#dw").append(img) //添加到展示圖片div區域
         img.onload = function() {
         img.onload = null;
         canvas = convertImageToCanvas(img, 0, 0, 1024, 600); //設置圖片大小和位置
         img.src = convertCanvasToImage(canvas).src;
         $(img).css({
         background:"#fff" 
         });
         //調用下載方法 
         if(browserIsIe()){ //假如是ie瀏覽器 
         DownLoadReportIMG(img.src);
         }else{
         download(img.src)
         }
         }
         } 
         });
        } 
        //繪制顯示圖片 
        function convertCanvasToImage(canvas) {
         var image = new Image();
         image.src = canvas.toDataURL("image/png"); //獲得圖片地址
         return image;
        }
        //生成canvas元素,相當于做了一個裝相片的框架
        function convertImageToCanvas(image, startX, startY, width, height) {
         var canvas = document.createElement("canvas");
         canvas.width = width;
         canvas.height = height;
         canvas.getContext("2d").drawImage(image, startX, startY, width, height, 20, 20, 960, 600); //在這調整圖片中內容的顯示(大小,放大縮小,位置等)
         return canvas;
        }
         function DownLoadReportIMG(imgPathURL) {
         //如果隱藏IFRAME不存在,則添加
         if (!document.getElementById("IframeReportImg"))
         $('<iframe style="display:none;" id="IframeReportImg" name="IframeReportImg" onload="DoSaveAsIMG();" width="0" height="0" src="about:blank"></iframe>').appendTo("body");
         if (document.all.IframeReportImg.src != imgPathURL) {
         //加載圖片
         document.all.IframeReportImg.src = imgPathURL;
         }
         else {
         //圖片直接另存為
         DoSaveAsIMG();
         }
        }
        function DoSaveAsIMG() {
         if (document.all.IframeReportImg.src != "about:blank")
         window.frames["IframeReportImg"].document.execCommand("SaveAs");
        }
        // 另存為圖片
        function download(src) {
         var $a = $("<a></a>").attr("href", src).attr("download", "img.png");
         $a[0].click();
        }
        //判斷是否為ie瀏覽器
        function browserIsIe() {
         if (!!window.ActiveXObject || "ActiveXObject" in window)
         return true;
         else
         return false;
        }

        解釋說明:這里核心截圖代碼是

        html2canvas(dom, {  onrendered: function(canvas) {})方法,是插件提供的。其中:dom是你要截圖的元素模塊

        它的作用是把這個參數canvas形成一個img圖片元素。調用的是單另的convertCanvasToImage()方法,

        其中: image.src = canvas.toDataURL("image/png");這句就是生成圖片的地址。而這個圖片就是截取的你的那個元素,有了圖片地址就很好辦了。我只是把它添加到id=“dw”這個元素中提供展示效果。其實做到這樣就夠了,但我又用canvas裝了一遍。

        后面給圖片加載方法:onload ()在其中添加屬性撒的,自動執行下載方法:區分了ie瀏覽器(網上找的方法),還有我直接生成的下載方法。關于下載方法很多,你們隨意選。

        當然自己的這個download(src)下載方法同樣適用ie。因為原理很簡單,就是用生成個元素自己調用方法。

        總結

        以上所述是小編給大家介紹的S實現div模塊的截圖并下載功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JS實現div模塊的截圖并下載功能

        JS實現div模塊的截圖并下載功能:當需要實現html頁面部分模塊截圖并具有保存圖片功能時,前臺直接生成截圖并下載會方便的多。多的不說,直接看代碼 首先我們需要引入2個js文件: <script type=text/javascript src=js/html2canvas.js></script>
        推薦度:
        標簽: 實現 js 模塊
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲五月激情综合图片区| 亚洲成_人网站图片| 亚洲人成在线免费观看| 亚洲成av人片天堂网无码】| 亚洲综合精品网站| 1000部羞羞禁止免费观看视频| 亚洲高清一区二区三区电影| 亚洲综合色视频在线观看| 1000部啪啪毛片免费看| 特级一级毛片免费看| 亚洲色图古典武侠| 国产成人精品亚洲| 久久久久久久久亚洲| 免费高清在线影片一区| 成全视频免费观看在线看| 亚洲情XO亚洲色XO无码| 国产免费AV片在线播放唯爱网| 乱人伦中文视频在线观看免费| 亚洲国产成人久久综合一| 国产三级免费电影| 69pao强力打造免费高清| 一级特黄录像免费播放中文版 | 亚洲毛片基地4455ww| 亚洲第一页日韩专区| 国产h肉在线视频免费观看| 男女猛烈激情xx00免费视频| 亚洲精品美女在线观看播放| 久久精品国产精品亚洲| 午夜影视在线免费观看| 最近中文字幕大全免费视频| 一级毛片成人免费看a| 亚洲精品国产摄像头| 亚洲最新永久在线观看| 久久影院亚洲一区| 免费高清av一区二区三区| 一级女人18毛片免费| 玖玖在线免费视频| 一级做a爰片久久毛片免费看| 亚洲国产日韩视频观看| 亚洲婷婷天堂在线综合| 亚洲bt加勒比一区二区|